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 GarbeeArchitecture: 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.