Table des matières

sudo


La commande sudo permet à un utilisateur d'exécuter des commandes avec les droits root.

Utilisation

Commandes de base

Exécuter une commande en tant que root

sudo <commande>

Ouvrir une session interactive root

sudo -i
sudo -s

Oublier le mot de passe mémorisé

sudo -k

Lister ses droits

sudo -l

Donner les droits sudo

sudo adduser <login> sudo

Haut de page

Configuration

/etc/sudoers.d

Tous les fichiers du répertoire /etc/sudoers.d/ ne finissant pas par ~ ou ne contenant pas un . sont lus et analysés lorsque l'on utilise la commande sudo.

Le nom est libre et peut faire référence à la commande et/ou l'utilisateur concerné.

Editer un fichier

visudo -f /etc/sudoers.d/<commande>-<utilisateur>
Pour configurer l'éditeur par défaut pour visudo utiliser la commande : sudo update-alternatives --config editor

Syntaxe

identifiant	ALL = (user) /chemin/complet/commande,/chemin/complet/autrecommande
%groupe	ALL = (user) /chemin/complet/commande,!/chemin/complet/autrecommande
Les commandes précédées d'un point d'exclamation (!) sont refusées, alors que celles sans point d'exclamation sont autorisées.
Les commandes multiples sont séparées par une virgule, sans espace.
Les commandes doivent être entrées de manière exacte. Saisir des chemins absolus vers les commandes.

Exemple pour gérer un service

Les lignes suivantes autorisent l'utilisateur <user> à exécuter les commande systemctl stop|start|restart|status nom.service sans mot de passe.

Defaults:user !requiretty
user ALL= NOPASSWD: /bin/systemctl restart nom
user ALL= NOPASSWD: /bin/systemctl stop nom
user ALL= NOPASSWD: /bin/systemctl start nom
user ALL= NOPASSWD: /bin/systemctl status nom
En cas de problème penser à bien taper la commande de façon identique à ce qui est indiqué dans le fichier (préfixé de la commande sudo).

Exemple pour arrêter la machine

Defaults:user !requiretty
user ALL= NOPASSWD: /sbin/poweroff

Exemple pour toute commande

user ALL=(ALL) NOPASSWD: ALL

/etc/sudoers

Il est possible de modifier directement le fichier /etc/sudoers mais il est préférable de privilégier d'écrire ses modifications locales dans le répertoire /etc/sudoers.d


Haut de page

Sources


Haut de page