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 n'a pas trop d'expérience
(comme de lancer un $ rm -rf /
).
Une alternative préservant la sécurité est d'utiliser sudo :
$ dpkg -p sudo Package: sudo Priority: optional Section: admin Installed-Size: 316 Maintainer: Bdale Garbee <bdalegag.com> 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.
![]() |
Pour modifier ce fichier il faut utiliser la commande visudo en étant root. |
Il doit ressembler à ça :
$ 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éfinis 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.
Page maintenue par Sébastien KALT - Copyright (c) 1999-2011 Sébastien KALT.