/ / 8 façons de peaufiner et de configurer Sudo sur Ubuntu

8 façons de peaufiner et de configurer Sudo sur Ubuntu

image

Comme la plupart des choses sur Linux, la commande sudo esttrès configurable. Vous pouvez faire en sorte que sudo exécute des commandes spécifiques sans demander de mot de passe, n'autorise pas certains utilisateurs à n'approuver que les commandes approuvées, les commandes de journalisation exécutées avec sudo, etc.

Le comportement de la commande sudo est contrôlé par le/ etc / sudoers sur votre système. Cette commande doit être modifiée à l’aide de la commande visudo, qui effectue une vérification de la syntaxe pour s’assurer que le fichier n’est pas endommagé par inadvertance.

Spécifier des utilisateurs avec des autorisations Sudo

Le compte d'utilisateur que vous créez lors de l'installationUbuntu 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.

image

Faites que Sudo oublie votre mot de passe

Sudo mémorise par défaut votre mot de passe pendant 15minutes après avoir tapé. 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

image

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 en vue de l’éditer:

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:

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 toujours un mot de passe.

Changer le délai de mot de passe

Pour définir un délai de mot de passe différent - soit unplus long comme 30 minutes ou 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:

Valeurs par défaut timestamp_timeout = 5

image

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 que vous préférez avec sudo s'exécutera avec les autorisations root. Pour ce faire, ajoutez la ligne suivante à votre fichier sudoers, où nomutilisateur 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 administrateurs) d'utiliser sudo - pour que tous les utilisateurs administrateurs ne requièrent pas 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 quine jamais demander un mot de passe pour une utilisation 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 lorsque vous exécutez des commandes spécifiques avec sudo dans un script.

image

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

Alors que vous pouvez mettre sur liste noire des commandes spécifiques etempê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 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 arrêter le système à l'aide de la copie.

Un moyen plus efficace consiste à ajouter à la liste blanche des listes spécifiques.commandes. 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ù standarduser correspond au nom d'utilisateur de l'utilisateur:

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

image

La commande suivante nous indiquera les commandes que l'utilisateur peut exécuter avec sudo:

sudo -U utilisateur standard -l

image

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.

Fichier de consignation 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 sans restrictionaccès sudo, 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 consignées. La fonctionnalité de journalisation est particulièrement utile lorsqu'elle est associée à des comptes d'utilisateurs disposant d'un accès restreint à un sous-ensemble de commandes système.