La commande sudo

De Wiki info-lab.fr
Aller à : Navigation, rechercher

Sommaire

Présentation

sudo est une commande (/usr/bin/sudo) qui permet à un utilisateur d'acquérir tout ou partie des droits d'un autre utilisateur, en général root pendant un temps donné.
sudo permet donc de travailler sous privilège moindre qu'en se connectant en tant que root, car il n'est actif que pour une seule commande ou s'arrête automatiquement à la fin d'une temporisation.
sudo permet aussi de déléguer certains droits particuliers à certains utilisateurs du système. Avant d'autoriser cette usurpation d'identité organisée, l'utilisateur doit prouver son identité par exemple en saisissant son mot de passe ou en envoyant un OTP généré par un authentifieur.

sudo - utilisation

La manière simple d'utiliser sudo dans un shell est la suivante :

$ sudo commande

Après vérification du fichier /etc/sudoers sudo attend que l'uilisateur saisisse son mot de passe et en cas de succès exécute cette commande avec les droits root. Dans un délai de 15 minutes (valeur par défaut modifiable) toute demande d'accès à sudo par cet utilisateur sera acceptée sans besoin de renseigner son mot de passe.

$ sudo -s commande       (L'utilisateur concerve  son environnement qui bénéficie par contre des privilèges ROOT)

sudo - gksudo/kdesudo

Pour le lancement d'applications graphiques et même si sudo fonctionnera dans la plupart des cas il est préférable d'invoquer gksudo ou kdesudo de façon à ce que le fichier /home/utilisateur/.Xauthority soit exporté dans /root le temps de la commande.

Edition du fichier des sudoers

Les autorisations de sudo sont définies dans le fichier /etc/sudoers. Ce fichier doit être édité au moyen de l'utilitaire visudo :

$ sudo visudo 

Exemple de modification du fichier sudoers : Ajouter à la ligne Defaults env_reset la variable timestamp_timeout suivie d'une valeur modifie la temporisation de 15 minutes par défaut sur certains systèmes, 5 minutes pour d'autres.
visudo lance nano pour l'édition de /etc/sudoers mais en vérifie la syntaxe avant enregistrement. Grâce à cette protection on peut faire n'importe quoi sur le fichier /etc/sudoers (attribuer des droits aux mauvais utilisateur par exemple) mais pas n'importe comment !

 Defaults env_reset,timestamp_timeout=10                (10 minutes de droits sudo)
 Defaults env_reset,timestamp_timeout=0                (aucune temporisation, mot de passe demandé à chaque fois)
Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Outils