Utilisation
Description
Sudo est un outils qui permet de configurer très facilement les droits d'exécution de certaines commandes pour que certains
utilisateurs puissent utiliser ces commandes sans avoir de droits sur celles-ci, en clair sudo vous permet de définir
quel utilisateur aura le droit de lancer des commandes en principe réservées à "root" comme, monter une partition, établir une connexion ppp
pour récupérer les mails, les news, arrèter le système ...etc.
Installation
La dernière version à ce moment est la 1.6.3p5 :
Vous trouverez de l'info et de la doc sur le site : www.courtesan.com/sudo/
Vous pous télécharger les archives et packages RPM depuis un site FTP :
ftp.tux.org:/pub/security/sudo/
ftp://fr.rpmfind.net/linux/contrib/libc6/i386/
Vous trouverez également des packages spécifiques pour Debian et Mandrake .
_ "Logez-vous" sous compte root (ou su)
Pour installaller un RPM : rpm -ivh sudo-1.6.1-1.i386.rpm
Pour décomprésser l'archive : tar xvzf sudo-1.6.3p5.tar.gz
Je vais commenter linstallation de la version sudo-1.6.3p5.tar.gz :
_Placez vous dans répertoire ainsi créé cd sudo-1.6.3p5 .
L'archive *.tar.gz utilise par défaut le répertoire d'installation /usr/local/ , pour changer ce répertoire éditez le fichier configure et modifiez
cette ligne ac_default_prefix=/usr/local au début du fichier en ac_default_prefix=/usr pour installer les exécutables(binaires) sous /usr/bin et /usr/sbin .
_Et ensuite entrez les commandes :
./configure
make
make check
make install
L'installation va créer l'exécutable /usr/bin/sudo, un fichier de configuration /etc/sudoers et un exécutable /usr/sbin/visudo pour éditer et modifier ce fichier .
Les droits de ces fichiers doivent ressembler à ceci :
tuxserv:/admin $ ls -l /etc/sudoers
-r--r----- 1 root root 294 Dec 10 1999 /etc/sudoers
tuxserv:/admin $ ls -l /usr/bin/sudo
---s--x--x 1 root root 81284 Dec 10 1999 /usr/bin/sudo
tuxserv:/admin $ ls -l /usr/sbin/visudo
---x--x--x 1 root root 56776 Dec 10 1999 /usr/sbin/visudo
tuxserv:/admin $
|
Notez les droits particuliers de ces fichiers :
visudo est exécutable par tous, sudoers est seulement lisible par le propriétaire et le groupe et sudo est suid aussi pour cette raison vous ne
devez installer sudo que sur une partition qui autorise le montage suid comme l'option "defaults" dans votre fichier /etc/fstab :
/dev/hda2 / ext2 defaults 1 1
|
Configuration
Pour modifier le fichier de configuration /etc/sudoers (éditer et modifier), vous devez (en root) lancer
visudo .
Pour que visudo fonctionne, l'éditeur vi doit être installé sur votre système !
Pour ma part, je n'utilise pas vi (mais emacs) aussi je modifie manuellement le fichier sudoers, mais attention aux erreurs de frappe et de syntaxe !
L'avantage de visudo est qu'il permet de détecter les erreurs de syntaxe et de faire prendre en compte les modifs par sudo.
Nous allons prendre l'exemple de deux utilisateurs, "mic" et "mac", aux quels nous voulont donner les droits pour arrêter la machine et se connecter avec PPP :
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
Cmnd_Alias HALT=/sbin/shutdown
Cmnd_Alias DIALER=/usr/local/bin/mdial
# User privilege specification
root ALL=(ALL) ALL
mic ALL=NOPASSWD:DIALER,NOPASSWD:HALT
mac ALL=NOPASSWD:DIALER,NOPASSWD:HALT
|
mdial est le numéroteur internet que j'utilise.
NOPASSWD évite que sudo demande le mot de passe de l'utilisateur .
Utilisation
Pour arrêter la machine, il suffit de taper :sudo shutdown -h now
Pour se connecter à internet, tapez : sudo mdial &
Si vous utilez des scripts (perso) de connexion comme ppp-on et ppp-off, utilisez cette config :
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
Cmnd_Alias HALT=/sbin/shutdown
Cmnd_Alias PPPON=/etc/ppp/ppp-on
Cmnd_Alias PPPOFF=/etc/ppp/ppp-off
# User privilege specification
root ALL=(ALL) ALL
mic ALL=NOPASSWD:PPPON,NOPASSWD:PPPOFF,NOPASSWD:HALT
mac ALL=NOPASSWD:PPPON,NOPASSWD:PPPOFF,NOPASSWD:HALT
|
Lorsque vous êtes sous un compte utilisateur, pour connaître les commandes (root) que vous pouvez utiliser, tapez sudo -l
tuxserv:mic $ sudo -l
User mic may run the following commands on this host:
(root) NOPASSWD: /sbin/shutdown
(root) NOPASSWD: /usr/local/bin/mdial
tuxserv:mic $
|
Pour en savoir plus sur sudo, consultez les pages de manuel : man sudo