Comment voir dans le terminal que vous avez des privilèges sudo? (sachant que j'ai ces privilèges, je peux simplement taper sudo -k
) Il serait préférable de ne pas ajouter trop d'informations dans le terminal également, juste une sorte d'alerte simple et petite!
LE TEMPS RESTANT EST IMPOSSIBLE, non?
Aussi, comment voir combien de temps il me reste avec ces privilèges sur ce terminal spécifique? (donc je peux juste le laisser finir au lieu de taper sudo -k
). Je pense que le temps restant pourrait apparaître chaque fois que j'appuie sur la touche Entrée.
EDIT: J'ai fait plus de recherches et j'ai découvert que /var/lib/sudo/$USER/$nPts
(où $ nPts est le terminal actuel en date du ps -p $$
) a son horodatage mis à jour chaque fois qu'une commande sudo est émise, et il n'est accessible que si vous utilisez une commande sudo, donc le temps restant sera toujours le configuré un ...
PS: Alternativement à cela, j'ai essayé alias sudo='sudo -k'
mais je n'aime pas devoir taper le mot de passe pour chaque commande ... Et aussi, cela alias sudos='sudo -k'
(ou alias ssudo='sudo -k'
, bon si vous avez tapé une longue ligne, appuyez simplement sur Accueil et tapez 's') fonctionne si vous ne souhaitez émettre qu'une seule commande en tapant sudos
. Mais je manque encore de savoir quand j'ai les privilèges sudo normaux pour savoir que je dois agir ...
Réponses:
[Je voudrais toujours savoir s'il y a une meilleure réponse.]
J'ai trouvé un moyen qui fonctionne et l'invite sera conservée sur une seule ligne:
à la fin de votre
~/.bashrc
ajouter ceci:EDIT: J'ai trouvé que cela
sudo -n uptime
mettra à jour le délai d'attente sudo, donc à chaque fois que vous appuyez sur la touche Entrée, ce temps sudo sera mis à jour ... Cela rend inutile la connaissance du temps restant, car ce sera toujours celui configuré, par défaut à 15 minutes. .et pour trouver la meilleure mise en forme des couleurs à votre goût, vous pouvez utiliser ScriptEchoColor avec une
--escapedchars
option comme:pour arrêter simplement le clignotement supprimer
\E[5m
comme dans\E[0m\E[93m\E[41m\E[1m SUDO \E[0m
la source
Votre terminal n'a pas "de privilèges sudo", sauf si vous faites quelque chose de stupide comme
sudo bash
NE FAITES PAS CECI!Tout ce que vous avez à faire pour "avoir les privilèges sudo normaux" est de ne pas taper
sudo
devant la commande./usr/bin/id
est un bon moyen de voir ce qui sesudo
passe. Par exemple:La
sudo
page de manuel indique "La stratégie sudoers met en cache les informations d'identification pendant 15 minutes, sauf si elle est remplacée dans sudoers (5)". Cela signifie que, par défaut, si vous émettez unesudo
commande (et entrez votre mot de passe), puis attendez 14,9 minutes avant d'émettre une deuxièmesudo
commande, vous n'aurez pas à saisir à nouveau votre mot de passe. Si vous attendez 15,1 minutes, vous devrez ressaisir le mot de passe.sudo -k
expire simplement la minuterie de 15 minutes immédiatement. La seule utilisation que je peux voirsudo -k
est si vous êtes sur le point de céder votre terminal déverrouillé à quelqu'un en qui vous n'avez pas confianceUID 0
.la source
sudo
devant la commande". Mais si je veux vérifier mes règles de pare-feu,iptables -L
cela ne fonctionnera pas sauf si je tapesudo iptables -L
. Mon point est, comment pouvons-nous réellement éviter d'utiliser sudo?sudo -k
, je crains que des crackers essaient d'accéder à distance à ma machine (je ne sais pas vraiment s'ils peuvent le faire de toute façon ...), ou au cas où je laisserais ma machine ouverte sans la verrouiller pendant quelques instants ... eh bien, le vrai point est que: je veux le faire de cette façon! Je m'en fiche d'avoir à tapersudo -k
et à nouveau mon mot de passe plus tard autant de fois que je le dois, je me sens bien quand je le fais de cette façon! :)/bin/su
. Voulez-vous vraiment la supprimer? "Accéder à distance à ma machine ..." et, je suppose, prendre le relais/proc/YourPID/fd/{0,1,2}
. Non. Si votre machine est accessible à distance, le Bad Guy a des moyens plus faciles d’utiliser l’ID utilisateur 0. Vous devez augmenter votre Linux-foo avant ce niveau de préoccupation.alias k=/usr/bin/sudo -k
, remplacez lasudo
commande par une fonction alias ou bash qui encapsule l'appel/usr/bin/sudo
avec/usr/bin/touch $HOME/tmp/$$/sudotime
, et enfin, ajoutez quelque chose à imprimer $ {{time (now) - time ($ HOME / tmp / $ $ / sudotime))) dans votre invite Bash. Pas anodin, mais si cela vous fait du bien, allez-y.sudo
avec un alias pour n'importe quel mot aléatoire, ils pourraient toujours taper/usr/bin/sudo
au lieu desudo
et cela fonctionnerait toujours comme le fait sudo :(. Quoi qu'il en soit, j'aime l'idée .. Je me demande si je change le réel,/usr/bin/sudo
cela cassera autre chose que tous mes scripts qui l'utilisent .. même si je le fais, ils pourraient, en lisant les scripts, deviner ce qu'est devenu sudo ..