Améliorer sa configuration | Sudo


Dernière mise à jour: 15-10-2000
Configuration de l'environnement Menu: Configurer et Améliorer son Système Index Linux Pages de manuel, Dico et correcteur Français

Configurer Sudo

  • Description
  • Installation de Sudo
  • Configuration de Sudo
  • 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