FUNIX

Mettez un manchot dans votre PC



sudo
[ Présentation  | Installation |   Comment ça marche]

Dernière modification 7.7.02

Sudo

Manips diverses

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.
La Mandrake 8.2 fournit le package sudo1.6.4-2mdk.i586.rpm (CD1). Vous pouvez néanmoins récupérer la dernière version sur le site officiel de sudo  .

Installation

L'installation de la version Mandrake est toute simple, il suffit de taper :

rpm -ivh sudo-1.6.4-2mdk.i586.rpm

Pour la version tar.gz qu'on peut récupérer sur le site officiel de sudo http://www.courtesan.com/sudo on procédera ainsi :

tar xvfz sudo-1.6.6.tar.gz

Cela va créer un répertoire sudo-1.6.6 dans ce répertoire on tapera :

./configure
make

Puis en tant que root

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 (4111)

Evidemment si les chemins ne vous plaisent pas, il faut lancer configure avec les options qui vont bien

configure -help

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 page d'accueil FUNIX] [Retour haut de la page]