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