Sudo

Graver XFCE
Manips diverses

Présentation

Installation

Comment ça marche

Présentation

sudo est une appli hyper intéressante car elle permet de configurer très simplement les droits d'exécution de certaines commandes des utilisateurs du système, en clair avec sudo, vous pouvez définir quel utilisateur aura le droit de lancer une connexion ppp, faire un shutdown, monter un cd-rom et j'en passe. Ca vous évite de manipuler et de mettre des bits suid un peu partout.
Vous trouverez sur le site officiel de sudo, la version tar.gz et RPM, pour info j'ai installé la dernière version stable sudo.v1.5.9p4, plutôt que la version béta qu'on peut y trouver. La version tar.gz se présente sous la forme de sources qu'il faut compiler, je ne sais pas si la version RPM contient déjà les exe.

Installation

Ce paragraphe traite de la version tar.gz qu'on peut récupérer sur le site.  Entant que root, on passe par les étapes classiques:

gunzip  cu-sudo_v1_5_9p4_tar.tar.gz
tar xvf  cu-sudo_v1_5_9p4_tar
cd  sudo.v1.5.9p4/
./configure
./make
./make install

Le programme d'install va vous créer un fichier de config sous /etc qui a pour nom sudoers, un exécutable pour éditer et modifier ce fichier visudo qui se trouve dans /usr/local/sbin et l'exécutable sudo qui se trouve lui même dans /usr/local/bin.
Voici les droits des dits fichiers:

-r--r-----    1 root     root          456 nov 10 21:44 /etc/sudoers
---x--x--x    1 root     root        31116 nov 10 21:09 /usr/local/sbin/visudo
---s--x--x    1 root     root        52204 nov 10 21:09 /usr/local/bin/sudo

A noter les droits un peu bizarre de sudo.

Evidemment si les chemins ne vous plaisent pas libre à vous de modifier le fichier configure qui se trouve dans le répertoire de sudo.

ATTENTION sudo doit se trouver dans une partition avec l'option de montage suid et non nosuid, pour info si vous avez defaults, il n'y a pas de problèmes suid est compris dedans.

Comment ça marche

Le fichier de config est /etc/sudoers, pour l'éditer et le modifier vous devez obligatoirement lancer en tant que root visudo, visudo se présente sous la forme d'un éditeur texte avec les commandes de vi, mais en plus de ça il permet de détecter les erreurs de syntaxe et de faire prendre en compte les modifs à sudo.
Voici un fichier /etc/sudoers type, on va prendre comme exemple simple deux utilisateurs à qui ont va donner le  droit de récupérer les news (fetchnews), d'arrêter la machine (halt), de lancer et d'arrêter une connexion PPP (ppp-on, ppp-off).

# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification
Cmnd_Alias    PPPON=/etc/ppp/ppp-on
Cmnd_Alias    PPPOFF=/etc/ppp/ppp-off
Cmnd_Alias    HALT=/sbin/halt
Cmnd_Alias    FETCHNEWS=/usr/local/sbin/fetchnews

# User privilege specification
root    ALL=(ALL) ALL

olivier ALL=NOPASSWD:PPPON,NOPASSWD:PPPOFF,NOPASSWD:HALT,NOPASSWD:FETCHNEWS
veronique ALL=NOPASSWD:PPPON,NOPASSWD:PPPOFF,NOPASSWD:HALT,NOPASSWD:FETCHNEWS

Pour arrêter la machine, il faut donc taper:

sudo halt

A noter que si on n'avait pas mis NOPASSWD devant l'alias HALT, sudo demanderait le mot de passe de l'utilisateur.

sudo -l

Permet de voir la liste des commandes super utilisateurs auquel on a droit.

Sudo s'est pas seulement ça, il suffit de faire un man sudo pour s'en convaincre, mais déjà l'exemple donné plus haut permet déjà de satisfaire énormément de besoins.

Retour haut de la page