Le comportement de la commande sudo est contrôlé par le fichier / etc / sudoers de votre système. Cette commande doit être modifiée à l’aide de la commande visudo, qui vérifie la syntaxe pour vous assurer de ne pas endommager le fichier par inadvertance.
Spécifier les utilisateurs avec les autorisations Sudo
Le compte d'utilisateur que vous créez lors de l'installation d'Ubuntu est marqué en tant que compte administrateur, ce qui signifie qu'il peut utiliser sudo. Les comptes d’utilisateur supplémentaires créés après l’installation peuvent être des comptes d’administrateur ou des comptes d’utilisateur standard. Les comptes d’utilisateur standard ne disposent pas d’autorisations sudo.
Vous pouvez contrôler graphiquement les types de compte d’utilisateur à partir de l’outil Comptes d’utilisateur d’Ubuntu. Pour l'ouvrir, cliquez sur votre nom d'utilisateur dans le panneau et sélectionnez Comptes d'utilisateurs ou recherchez des comptes d'utilisateurs dans le tiret.
Faites que Sudo oublie votre mot de passe
Par défaut, sudo conserve votre mot de passe 15 minutes après sa saisie. C'est pourquoi il vous suffit de saisir votre mot de passe une seule fois lorsque vous exécutez plusieurs commandes avec sudo en succession rapide. Si vous êtes sur le point de laisser quelqu'un d'autre utiliser votre ordinateur et que vous voulez que sudo demande le mot de passe lors de la prochaine exécution, exécutez la commande suivante et sudo oubliera votre mot de passe:
sudo –k
Toujours demander un mot de passe
Si vous préférez être invité à chaque utilisation de sudo (par exemple, si d’autres personnes ont régulièrement accès à votre ordinateur), vous pouvez désactiver complètement le comportement de mémorisation du mot de passe.
Ce paramètre, comme d’autres paramètres sudo, est contenu dans le fichier / etc / sudoers. Exécutez la commande visudo dans un terminal pour ouvrir le fichier à modifier:
sudo visudo
Malgré son nom, cette commande utilise par défaut le nouvel éditeur nano convivial, à la place de l'éditeur vi traditionnel sous Ubuntu.
Ajoutez la ligne suivante en dessous des autres lignes de valeurs par défaut du fichier:
Defaults timestamp_timeout=0
Changer le délai de mot de passe
Pour définir un délai de mot de passe différent - un délai plus long comme 30 minutes ou un délai plus court comme 5 minutes - suivez les étapes ci-dessus, mais utilisez une valeur différente pour timestamp_timeout. Le nombre correspond au nombre de minutes pour lesquelles sudo se souviendra de votre mot de passe. Pour que sudo retienne votre mot de passe pendant 5 minutes, ajoutez la ligne suivante:
Default timestamp_timeout=5
Ne jamais demander un mot de passe
Vous pouvez également demander à sudo de ne jamais demander de mot de passe - tant que vous êtes connecté, chaque commande associée au préfixe sudo est exécutée avec les droits root. Pour ce faire, ajoutez la ligne suivante à votre fichier sudoers, où nomutilisateur correspond à votre nom d'utilisateur:
username ALL=(ALL) NOPASSWD: ALL
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Exécuter des commandes spécifiques sans mot de passe
Vous pouvez également spécifier des commandes spécifiques qui ne nécessiteront jamais de mot de passe lors de l'exécution avec sudo. Au lieu d'utiliser «ALL» après NOPASSWD ci-dessus, spécifiez l'emplacement des commandes. Par exemple, la ligne suivante permettra à votre compte d'utilisateur d'exécuter les commandes apt-get et shutdown sans mot de passe.
username ALL=(ALL) NOPASSWD: /usr/bin/apt-get,/sbin/shutdown
Cela peut être particulièrement utile lorsque vous exécutez des commandes spécifiques avec sudo dans un script.
Autoriser un utilisateur à exécuter uniquement des commandes spécifiques
Bien que vous puissiez ajouter des commandes spécifiques à une liste noire et empêcher les utilisateurs de les exécuter avec sudo, cela n’est pas très efficace. Par exemple, vous pouvez spécifier qu'un compte d'utilisateur ne puisse pas exécuter la commande shutdown avec sudo. Mais ce compte utilisateur peut exécuter la commande cp avec sudo, créer une copie de la commande shutdown et éteindre le système à l'aide de la copie.
Un moyen plus efficace consiste à ajouter à la liste blanche des commandes spécifiques. Par exemple, vous pouvez autoriser un compte utilisateur standard à utiliser les commandes apt-get et shutdown, mais pas plus. Pour ce faire, ajoutez la ligne suivante, où utilisateur standard est le nom d'utilisateur de l'utilisateur:
standarduser ALL=/usr/bin/apt-get,/sbin/shutdown
sudo -U standarduser –l
Enregistrement de l'accès Sudo
Vous pouvez vous connecter à tous les accès sudo en ajoutant la ligne suivante. / var / log / sudo n'est qu'un exemple; vous pouvez utiliser n'importe quel emplacement de fichier journal que vous aimez.
Defaults logfile=/var/log/sudo
sudo cat /var/log/sudo