Sudo & Sudoers

 

Pourquoi sudo ?

La commande sudo permet sur les systèmes GNU/Linux d’attribuer les privilèges d’un utilisateur à un autre utilisateur, généralement « root ».  Cela veut dire « substitute user do » : « exécuter en se substituant à l’utilisateur » Wikipedia

Fichier de configuration :

Permet de configurer les utilisateurs :

Permet de configurer la commande « sudo » (fichier de log, attribution du niveau de debug..)

Comment le mettre en oeuvre ?

La mise en oeuvre de sudo se fait via le fichier de configuration /etc/sudoers, mais il est préférable d’utiliser la commande :

Cette commande permet de corriger la syntaxe et verrouille le fichier /etc/sudoers.

Syntaxe sudoers

Explications :

root : Utilisateur à qui ont donne des droits

ALL : (n’importe quelle machine)

(ALL) : (en tant que n’importe qui)

ALL : ( pour toutes les commandes)

Les alias :

User_Alias = Alias d’utilisateurs

Host_Alias = Alias d’hôte

Run_Alias = Alias de compte effectif

Cmnd_Alias = Alias de commandes

Exemple

les utilisateurs user1 et user2 ont les droits root pour les commandes de l’alias networking sauf iptables en tant que n’importequi.

%grouplinux ALL=(ALL) ALL : ici on peut également faire appel à un groupe du système.

Ici tous les utilisateur de l’alias ADMINS, sur toutes les  machines, ont les droits root pour tout sans mot de passe sauf pour fsck qui est interdit et avec mot de passe pour iptables.

Timestamp

Quand une commande est tapée via sudo le temps acquis pour l’attribution des droits root sont de 15 minutes. Cela peut se changer dans /etc/sudoers avec la directive timestamp_timeout 

Une valeur négative permet de ne pas retaper le mot de passe durant une session. Un « 0 » au contraire oblige de retaper le mot de passe à chaque utilisation de sudo.

Astuces

Changer l’editeur visudo

Par défaut visudo utilise l’éditeur par défaut souvent vi ou vim, pour le changer il suffit d’éditer le fichier /etc/sudoers et de rajouter à la variable Defaults le nouvel éditeur.

Erreurs

Une solution à tenter est de lancer la commande :

Une erreur dans le fichier /etc/sudoers

ou

Commenter :