Comme la plupart des choses sur Linux, la commande sudo est très configurable. Vous pouvez demander à sudo d’exécuter des commandes spécifiques sans demander de mot de passe, restreindre des utilisateurs spécifiques aux seules commandes approuvées, enregistrer les commandes exécutées avec sudo, etc.

Le comportement de la commande sudo est contrôlé par le fichier / etc / sudoers sur votre système. Cette commande doit être modifiée avec la commande visudo, qui effectue une vérification de la syntaxe pour vous assurer de ne pas casser accidentellement le fichier.

Spécifiez les utilisateurs avec des autorisations Sudo

Le compte d’utilisateur que vous créez lors de l’installation d’Ubuntu est marqué comme un compte administrateur, ce qui signifie qu’il peut utiliser sudo. Tous les comptes d’utilisateur supplémentaires que vous créez après l’installation peuvent être des comptes d’administrateur ou des comptes d’utilisateur standard.

Vous pouvez contrôler graphiquement les types de comptes d’utilisateurs à partir de l’outil Comptes d’utilisateurs 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 tableau de bord.

Faites oublier Sudo votre mot de passe

Par défaut, sudo se souvient de votre mot de passe pendant 15 minutes après l’avoir tapé. C’est pourquoi vous n’avez qu’à taper votre mot de passe une fois lors de l’exécution de 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 souhaitez que sudo demande le mot de passe lors de sa prochaine exécution, exécutez la commande suivante et sudo oubliera votre mot de passe:

sudo –k

 image

Toujours demander un mot de passe

Si vous préférez être invité à chaque fois que vous utilisez 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 les 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 au lieu de l’éditeur vi traditionnel sur Ubuntu.

Ajoutez la ligne suivante sous les autres lignes par défaut du fichier:

Valeurs par défaut timestamp_timeout = 0

 image

Appuyez sur Ctrl + O pour enregistrer le fichier, puis appuyez sur Ctrl + X pour fermer Nano. Sudo vous demandera désormais toujours un mot de passe.

Modifier le délai d’expiration du mot de passe

Pour définir un délai d’expiration 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 pendant lesquelles sudo se souviendra de votre mot de passe. Pour que sudo mémorise votre mot de passe pendant 5 minutes, ajoutez la ligne suivante:

Valeurs par défaut timestamp_timeout = 5

 image

Ne jamais demander de mot de passe

Vous pouvez également demander à sudo de ne jamais demander de mot de passe – tant que vous êtes connecté, chaque commande que vous préfixez avec sudo s’exécutera avec les autorisations root. Pour ce faire, ajoutez la ligne suivante à votre fichier sudoers, où nom d’utilisateur est votre nom d’utilisateur:

nom d’utilisateur ALL = (ALL) NOPASSWD: ALL

 image

Vous pouvez également modifier la ligne% sudo – c’est-à-dire la ligne qui permet à tous les utilisateurs du groupe sudo (également appelés utilisateurs Administrateur) d’utiliser sudo – pour que tous les utilisateurs Administrateurs n’aient pas besoin de mots de passe:

% 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.

nom d’utilisateur ALL = (ALL) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown

Cela peut être particulièrement utile lors de l’exécution de commandes spécifiques avec sudo dans un script.

 image

Autoriser un utilisateur à exécuter uniquement des commandes spécifiques

Bien que vous puissiez mettre sur liste noire des commandes spécifiques et empêcher les utilisateurs de les exécuter avec sudo, ce n’est pas très efficace. Par exemple, vous pouvez spécifier qu’un compte d’utilisateur ne peut pas exécuter la commande d’arrêt avec sudo. Mais ce compte d’utilisateur peut exécuter la commande cp avec sudo, créer une copie de la commande d’arrêt et arrêter le système à l’aide de la copie.

Un moyen plus efficace consiste à ajouter des commandes spécifiques à la liste blanche. Par exemple, vous pouvez donner à un compte utilisateur standard l’autorisation d’utiliser les commandes apt-get et shutdown, mais pas plus. Pour ce faire, ajoutez la ligne suivante, où standarduser est le nom d’utilisateur de l’utilisateur:

utilisateur standard ALL = / usr / bin / apt-get, / sbin / shutdown

 image

La commande suivante nous indiquera quelles commandes l’utilisateur peut exécuter avec sudo:

sudo -U standarduser –l

 image

Journalisation de l’accès Sudo

Vous pouvez enregistrer 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 souhaitez.

Logfile par défaut = / var / log / sudo

 image

Affichez le contenu du fichier journal avec une commande comme celle-ci:

chat sudo / var / log / sudo

 image

Gardez à l’esprit que, si un utilisateur dispose d’un accès sudo illimité, cet utilisateur a la possibilité de supprimer ou de modifier le contenu de ce fichier. Un utilisateur peut également accéder à une invite racine avec sudo et exécuter des commandes qui ne seraient pas enregistrées. La fonction de journalisation est très utile lorsqu’elle est associée à des comptes d’utilisateurs qui ont un accès restreint à un sous-ensemble de commandes système.

Laisser un commentaire