Comment changer le délai d’expiration du mot de passe sudo par défaut sous Linux

Comment changer le délai d’expiration du mot de passe sudo par défaut sous Linux

Lorsque vous exécutez la commande sudo sous Linux, elle mémorise le mot de passe pendant 15 minutes par défaut, déterminées par la variable timestamp_timeout dans le fichier /etc/sudoers . Ainsi, pendant ce temps, vous pouvez exécuter n’importe quelle autre commande sudo sans fournir le mot de passe. Il demande à nouveau un mot de passe après 15 minutes d’inactivité sudo.

Cependant, vous pouvez modifier le délai d’expiration par défaut et le rendre plus long ou plus court selon vos préférences. Vous pouvez également le configurer de manière à ce qu’il demande toujours un mot de passe ou le demande une fois par session de terminal ou démarrage du système. Voici comment procéder.

Ajuster le délai d’expiration du mot de passe sudo sous Linux

Pour toute modification liée à sudo, telle que l’octroi des privilèges sudo, l’ajout ou la configuration de règles personnalisées, etc., vous devez modifier le fichier /etc/sudoers . Cependant, il n’est pas recommandé de modifier manuellement ce fichier directement à l’aide d’un éditeur de texte. Utilisez plutôt la commande suivante pour modifier le fichier :

sudo visudo

Cette commande ouvre le fichier /etc/sudoers dans un éditeur de texte pour modification.

Pour modifier le délai d’expiration du mot de passe sudo par défaut (et le rendre plus long ou plus court), ajoutez la ligne suivante à la fin du fichier et modifiez sa valeur en fonction du temps (en minutes) que vous souhaitez attendre avant le délai d’expiration.

Defaults timestamp_timeout=x

Supposons que vous souhaitiez réduire le délai d’expiration du mot de passe sudo à trois minutes. Vous ajouterez donc :

Defaults timestamp_timeout=3

ajuster le délai d'expiration du mot de passe sudo

Notez que le terme Valeurs par défaut dans la commande ci-dessus fait référence aux paramètres à l’échelle du système. Pour appliquer la configuration uniquement à un utilisateur spécifique, utilisez plutôt la commande suivante :

Defaults:username timestamp_timeout=x

Toujours demander un mot de passe sudo

Pour toujours demander un mot de passe chaque fois qu’une commande sudo s’exécute, modifiez la valeur de la variable timestamp_timeout sur 0 :

Defaults timestamp_timeout=0

N’oubliez pas que vous ne pouvez effectuer cette modification qu’en tant que superutilisateur. En tant qu’utilisateur standard, vous pouvez accomplir cela en utilisant la commande suivante :

sudo -k

Cette commande ne nécessite pas de mot de passe sudo. En outre, sudo demandera un mot de passe la prochaine fois que vous l’exécuterez. Cependant, rappelez-vous que ce ne sera pas un changement permanent. Vous pouvez appeler cette commande chaque fois que vous souhaitez que sudo demande un mot de passe.

Demander un mot de passe administrateur une fois par session de terminal

Vous pouvez également demander à sudo de saisir le mot de passe une fois par session de terminal. Par exemple, si vous souhaitez entrer un mot de passe sudo une seule fois par session, ajoutez la ligne suivante dans le fichier /etc/sudoers :

Defaults timestamp_timeout = -1

Désormais, l’horodatage n’expirera pas tant que vous ne fermerez pas le terminal. Cela signifie qu’après avoir ouvert le terminal, vous n’aurez à saisir le mot de passe qu’une seule fois lorsque vous exécuterez la première commande sudo.

Une autre façon de procéder consiste à ouvrir le shell en tant que root à l’aide de la commande suivante :

sudo bash

La commande suivante demandera une fois le mot de passe sudo, puis vous pourrez exécuter toutes les commandes suivantes sans mot de passe.

lancer le shell en tant que root

Demander le mot de passe administrateur une fois par démarrage du système

Pour que sudo demande un mot de passe une fois par démarrage du système, ajoutez les entrées suivantes dans le fichier /etc/sudoers :

Defaults! tty_tickets
Defaults timestamp_timeout = -1

Dans la commande ci-dessus, ! tty_tickets activera l’horodatage unique pour toutes les sessions de terminal, vous n’aurez donc besoin de saisir le mot de passe sudo qu’une seule fois, quel que soit le nombre de terminaux que vous ouvrez. Le timestamp_timeout = -1 définira le mot de passe sudo pour qu’il n’expire jamais avant le redémarrage du système.

Vous pouvez redémarrer votre machine Linux pour vérifier si les modifications ont été enregistrées.

Ajustement du comportement de sudo Timeout sous Linux

Maintenant, vous pouvez facilement modifier le comportement du délai d’attente de sudo et ajuster le moment où il vous demande un mot de passe. Notez que vous pouvez également utiliser sudo sans jamais être invité à entrer un mot de passe. Cependant, vous ne devez utiliser cette option que si vous êtes le seul utilisateur ayant accès au système ; sinon, cela peut être un grand risque pour la sécurité.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *