Disons que j'exécute une commande avec Sudo
, puis si j'utilise Sudo
dans les prochains 15/5 minutes (je ne suis pas sûr de savoir combien de temps il se souvient de moi), il ne le fera pas moi pour un mot de passe. Cela ne m'invitera à nouveau que si je ne l'ai pas utilisé pendant au moins aussi longtemps.
Cependant, si je suspends ma machine, la réveille et que je me connecte avant la fin de cette période, je peux simplement exécuter à nouveau une commande Sudo
et elle ne me demandera pas mon mot de passe car je ne l'ai pas laissé être pour la certaine quantité de temps.
Alors, comment puis-je faire en sorte que peu importe le temps que je n'ai pas utilisé Sudo
, il me demandera certainement un mot de passe après la suspension une fois que je me suis connecté à nouveau, même si je suis toujours dans ce laps de temps où les 15/5 minutes d'utilisation de Sudo
n'ont pas encore passé?
La chose la plus probable qui fonctionnera est de le faire exécuter une commande pour supprimer tous les caches d’identité pour Sudo
lors de l’exécution d’une certaine commande exécutée au réveil.
J'utilise Ubuntu GNOME 15.10 avec GNOME 3.18.
De man Sudo
:
-K, --remove-timestamp
Similar to the -k option, except that it removes the user's
cached credentials entirely and may not be used in conjunc‐
tion with a command or other option. This option does not
require a password. Not all security policies support cre‐
dential caching.
Vous voulez donc que votre utilisateur exécute Sudo -K
chaque fois que le système est suspendu.
Cela peut être fait sur Ubuntu 15.04+ en plaçant un script dans /lib/systemd/system-sleep/
.
Sudo nano /lib/systemd/system-sleep/disable_Sudo_user
(remplacez user
par le nom d’utilisateur de votre utilisateur pour plus de commodité);user
par le nom d'utilisateur de votre utilisateur):#!/bin/sh
case $1/$2 in
pre/suspend)
su user -c 'Sudo -K'
;;
esac
Frappé CTRL+O, ENTER et CTRL+X;
Exécutez Sudo chmod o+x /lib/systemd/system-sleep/disable_Sudo_user
;
Pour l'activer également pour l'hibernation/hybride-veille, utilisez plutôt ce script:
#!/bin/sh
case $1 in
pre)
su user -c 'Sudo -K'
;;
esac
Cela peut être fait sur les versions précédentes d'Ubuntu en plaçant un script dans /etc/pm/sleep.d/
.
Sudo nano /etc/pm/sleep.d/disable_Sudo_user
(remplacez user
par le nom d’utilisateur de votre utilisateur pour plus de commodité);user
par le nom d'utilisateur de votre utilisateur):#!/bin/sh
case $1 in
suspend)
su user -c 'Sudo -K'
;;
esac
Frappé CTRL+O, ENTER et CTRL+X;
Exécutez Sudo chmod o+x /etc/pm/sleep.d/disable_Sudo_user
;
Pour l'activer également en veille prolongée, utilisez plutôt ce script:
#!/bin/sh
case $1 in
suspend|hybernate)
su user -c 'Sudo -K'
;;
esac
niquement si vous êtes aussi paranoïaque! Vous pouvez utiliser l'option -K
de Sudo
.
-K, --reset-timestamp
When used without a command, invalidates the user's cached credentials.
In other words, the next time Sudo is run a password will be required.
This option does not require a password and was added to allow a user to revoke
Sudo permissions from a .logout file.
When used in conjunction with a command or an option that may require a
password, this option will cause Sudo to ignore the user's cached credentials.
As a result, Sudo will Prompt for a password (if one is required by the
security policy) and will not update the user's cached credentials.
Not all security policies support credential caching.
par exemple,
Sudo -K <command>
Ou vous pouvez simplement laisser votre ordinateur dans une boîte en métal gardée par des robots:)
Encore une autre méthode
Tapez 'Sudo visudo'
Aller à la ligne qui dit: 'Defaults env_reset'
et changer à:
'Valeurs par défaut env_reset, timestamp_timeout = 0
Puis enregistrez le fichier.
En réglant le délai d'attente sur 0, le système vous demandera le mot de passe à chaque fois.