Installation
Ce paragraphe traite
de la version tar.gz qu'on peut récupérer sur le site.Ý En
tant que root, on passe par les étapes classiques:
gunzipÝ cu-sudo_v1_6_2p1_tar.tar.gz
tar xvf cu-sudo_v1_6_2p1_tar
cd sudo.v1.6.2p1/
./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. |