Modifier le délai d'expiration du mot de passe sudo par défaut

18

Lorsque j'exécute sudoet saisis mon mot de passe, une invocation ultérieure de sudoquelques minutes n'aura pas besoin d'être réintroduite.

Comment puis-je modifier le délai d'expiration par défaut pour demander à nouveau le mot de passe?

Tom Hale
la source

Réponses:

28

man sudoers dit:

Une fois qu'un utilisateur a été authentifié, [...] l'utilisateur peut alors utiliser sudo sans mot de passe pendant une courte période (5 minutes à moins qu'il ne soit remplacé par l' timestamp_timeoutoption).

Pour modifier le délai d'expiration, exécutez sudo visudoet ajoutez la ligne:

Defaults        timestamp_timeout=30

30est le nouveau délai d'expiration en minutes.

Pour toujours demander un mot de passe, définissez sur 0. Pour définir un délai infini, définissez la valeur sur négatif.

Pour désactiver totalement l'invite de mot de passe pour l'utilisateur ravi:

Defaults:ravi      !authenticate
Tom Hale
la source
3

Vous devez éditer / etc / sudoers. Pour ceux qui n'utilisent pas vi, vous devez éditer ce fichier (sur certaines versions de Linux) avec une commande de terminal comme celle-ci:

sudo EDITOR=gedit visudo

Ajoutez ou modifiez ensuite timestamp_timeout:

# After authenticating, this is the amount of time after which
# sudo will prompt for a password again in the same terminal
Defaults    timestamp_timeout=30
Qwertie
la source
La bonne façon d'éviter vicela serait de définir la $EDITORvariable sur autre chose. L'idée visudon'est pas d'appeler vi, mais d'empêcher les gens de se verrouiller (et toute autre personne dépendante sudo) de leur rootcompte en 1) copiant /etc/sudoersdans un fichier temporaire, 2) appelant $EDITORsur ce fichier, 3) exécutant une vérification de la syntaxe sur ce fichier et 4) éventuellement remplacer /etc/sudoerspar la version mise à jour.
Andreas Wiese
visudoLa documentation de la société dit ceci: "Normalement, visudo n'honore pas les variables d'environnement VISUAL ou EDITOR à moins qu'elles ne contiennent un éditeur dans la liste des éditeurs susmentionnée" - et la liste par défaut est uniquement vi, tout en autorisant tout éditeur est considéré comme une faille de sécurité. Mais je peux confirmer que cela sudo EDITOR=gedit visudofonctionne sur ma boîte CentOS 7.2. La vérification de la syntaxe qu'il fournit est certainement une bonne chose.
Qwertie
Ah, oui, merci pour la clarification (supplémentaire), j'ai raté cela. Mais IIRC vous pouvez également changer l'éditeur par défaut en sudoerslui-même - juste pour mémoire. Je suis sûr que la vérification de la syntaxe le dira. ;)
Andreas Wiese
3

sudo visudo est de modifier directement le fichier de configuration par défaut, mais dans le fichier a une suggestion ci-dessous

Veuillez envisager d'ajouter du contenu local dans /etc/sudoers.d/ au lieu de modifier directement ce fichier.

Donc, la meilleure façon est

cd /etc/sudoers.d
sudo visudo -f user_name

Ajoutez le contenu

Defaults timestamp_timeout=(number)

(number)est le nouveau délai d'expiration en minutes .

timestamp_timeout (homme 5 sudoers)

Nombre de minutes qui peuvent s'écouler avant que sudo demande à nouveau un mot de passe. Le délai d'attente peut inclure un composant fractionnaire si la granularité infime est insuffisante, par exemple 2,5. La valeur par défaut est 15. Définissez cette valeur sur 0 pour toujours demander un mot de passe. S'il est défini sur une valeur inférieure à 0, l'horodatage de l'utilisateur n'expirera pas jusqu'à ce que le système soit redémarré. Cela peut être utilisé pour permettre aux utilisateurs de créer ou de supprimer leurs propres horodatages via «sudo -v» et «sudo -k» respectivement.

Enregistrez le fichier en appuyant sur Ctrl+ Oet appuyez sur enter, puis quittez avec Ctrl+ X.

Key Shang
la source