Configuration de 'sudo'


Navigation

Accueil

Linux

Photographie

Liens


Administrer et configurer sa machine peut parfois devenir pénible si l'on applique le principe de base: 'ne jamais travailler en étant root'. Cela évite de faire de fausses manoeuvres, surtout quand on a pas trop d'expérience (comme de lancer un 'rm -rf /').

Une alternative préservant la sécurité est d'utiliser 'sudo':

meuh% dpkg -p sudo
Package: sudo
Priority: optional
Section: admin
Installed-Size: 316
Maintainer: Bdale Garbee 
Architecture: i386
Version: 1.6.2p2-1potato1
Depends: libc6 (>= 2.1.2), libpam0g, libpam-modules
Filename: dists/potato/updates/main/binary-i386/sudo_1.6.2p2-1potato1_i386.deb
Size: 122366
MD5sum: 837a528b2e0ad0971931794e1319b0f8
Description: Provides limited super user privileges to specific users.
 Sudo is a program designed to allow a sysadmin to give limited root
 privileges to users and log root activity.  The basic philosophy is to give
 as few privileges as possible but still allow people to get their work done.

L'installation est très simple, un 'apt-get install sudo' en étant root devrait faire l'affaire.

La configuration n'est pas non plus trop difficile. Le fichier la contenant est '/etc/sudoers'. ATTENTION, pour le modifier il faut utiliser la commande visudo en étant root. Il doit ressembler à ça:

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

# Host alias specification
Host_Alias      MA_MACHINE=meuh

# User alias specification
User_Alias     FULLTIMERS=paturette
User_Alias     PART_TIMERS=bouse,foin,lait

# Cmnd alias specification
Cmnd_Alias      SHUTDOWN=/sbin/shutdown
Cmnd_Alias      PPPD=/usr/sbin/pppd

# User privilege specification
root    ALL=(ALL) ALL
FULLTIMERS      MA_MACHINE=NOPASSWD:ALL
PART_TIMERS     MA_MACHINE=SHUTDOWN,PPPD

Moi je n'ai qu'une seule machine qui s'appelle 'meuh', pour l'exemple je créée malgré tout un alias pour cette machine:
'Host_Alias MA_MACHINE=meuh'

Ensuite je défini deux alias pour deux types d'utilisateurs, 'FULLTIMERS' qui pourront exécuter toutes les commandes, et 'PART_TIMERS' qui pourront juste lancer pppd et éteindre la machine:
'User_Alias FULLTIMERS=paturette
User_Alias PART_TIMERS=bouse,foin,lait
'

On peut aussi définir des alias pour des commandes. J'en definis deux:
'Cmnd_Alias SHUTDOWN=/sbin/shutdown Cmnd_Alias PPPD=/usr/sbin/pppd'

Puis on définit les privilèges:
'root ALL=(ALL) ALL': l'utilisateur 'root' peut exécuter toutes les commandes sur toutes les machines.

'FULLTIMERS MA_MACHINE=NOPASSWD:ALL': les utilisateurs qui font parti de l'alias 'FULLTIMERS' peuvent exécuter toutes les commandes, sur toutes les machines faisant parti de l'alias 'MA_MACHINE', et ce sans entrer de mot de passe.

'PART_TIMERS MA_MACHINE=SHUTDOWN,PPPD': les utilisateurs qui font parti de l'alias 'PART_TIMERS' peuvent exécuter seulement les commandes 'SHUTDOWN' et 'PPPD', sur toutes les machines faisant parti de l'alias 'MA_MACHINE', mais doivent entrer leur mot de passe.

Il y a beaucoup d'autres possibilités offertent pas 'sudo', n'hésitez pas à consulter les pages du man.


fait sous Debian GNU-Linux Affichage 800x600 conseillé graphiques avec Gimp



Page maintenue par Sébastien KALT - Copyright (c) 1999-2002 Sébastien KALT.