Catégorie : Administration système     Tags :      

    Retrouvez cet article dans : Linux Pratique 44

    Pour l'administration du système, la distribution Ubuntu propose une approche originale : ne pas attribuer de mot de passe à l'utilisateur root, mais permettre à un utilisateur normal d'obtenir les privilèges d'administrateur en donnant simplement son mot de passe. Dans cet article, nous aborderons les mécanismes utilisés pour mettre en place ce système pour Debian ou, plus généralement, pour toute distribution qui ne propose pas ce système à l'origine.

    L'utilisation systématique de sudo présente plusieurs avantages, dont une liste exhaustive est disponible
    sur le site de la communauté francophone d'Ubuntu : http://doc.ubuntu-fr.org/sudo. Pour aller à l'essentiel,
    cela évite de retenir plusieurs mots de passe,ce serait plus intuitif pour les débutants et on peutconfigurer sudo de façon plus fine que su.

    En ligne de commandes : le programme sudo

    Sudo est un outil en ligne de commandes qui permet à un utilisateur de lancer d'autres programmes avec les droits d'un autre utilisateur. Évidemment, tout cela se configure, dans le fichier /etc/sudoers. Dans notre cas, nous souhaitons autoriser certains utilisateurs à lancer des programmes en tant que root. Nous allons utiliser un groupe qui contiendra les utilisateurs autorisés à utiliser Sudo pour effectuer des tâches d'administration. Ubuntu utilise pour cela le groupe adm. Sous Debian, il existe un groupe nommé sudo qui me semble tout à fait indiqué. Nous allons donc simplement nous ajouter à ce groupe (remplacezmon login par le vôtre...) :

    # adduser tanguy sudo

    Pour que ce changement prenne effet, vous devez quitter votre shell ou votre bureau graphique et le rouvrir.

    Configuration

    Pour configurer Sudo, il ne faut pas éditer directement son fichier de configuration, mais utiliser un wrapper nommé Visudo, qui, une fois l'édition terminée, vérifie que vous n'avez pas fait d'erreur de syntaxe. Ce programme utilise par défaut l'éditeur Vi, mais on peut utiliser un autre éditeur (Emacs, Gedit, Kate…) en le précisant dans la variable d'environnement EDITOR :

     # EDITOR=emacs visudo

    Sous Debian, le fichier sudoers par défaut contient en particulier la ligne suivante :

     root ALL=(ALL) ALL

    Cela signifie que l'utilisateur root, sur quelque machine que ce soit (le premier ALL, utile dans le cas de réglages partagés entre plusieurs machines), a le droit d'utiliser Sudo pour lancer n'importe quel programme (le troisième ALL), en tant que n'importe qui (le deuxième ALL). Nous voulons également que tous les membres du groupe sudo aient le droit d'exécuter n'importe quel programme en tant que root, ce que nous écrivons ainsi :

    %sudo ALL=(root) ALL

    Si vous souhaitez effectuer des réglages plus fins, je vous renvoie à la page de manuel de sudoers et au site de Sudo : http://www.sudo.ws/.
    Vous pouvez maintenant utiliser Sudo pour :

    • lancer un programme quelconque :
    sudo aptitude install googleearth-package ;
    • ouvrir un shell en tant que root :
    sudo -s.

    Sous Gnome : gksudo

    Gksudo est un programme du bureau Gnome qui fonctionne comme une interface graphique pour Sudo (Fig. 1) : il demande le mot de passe de l'utilisateur, puis lance le programme demandé en tant que root.

    Gksudo est intégré au bureau Gnome : quand vous lancez un programme d'administration depuis le menu de Gnome, celui-ci est lancé, selon une configuration que je vais détailler, au moyen de gksudo ou de son homologue gksu. Sous Debian, par défaut, c'est gksu qui est utilisé et qui vous demande le mot de passe de root (Fig. 2). Nous allons donc modifier ce comportement.

    /img-articles/lp/44/cc-art-debian-su/fig-1.jpg

    Fig. 1 : gksudo, c'est le mot de passe utilisateur qui est demandé

    /img-articles/lp/44/cc-art-debian-su/fig-2.jpg

    Fig. 2 : gksu, c'est le mot de passe root qui est demandé…

    Ce réglage doit être effectué dans la base de configuration de Gnome, qui ressemble, pour ceux qui l'ont connu, au registre de Windows (en mieux, toutefois). Il s'agit d'activer la clef /apps/gksu/sudo-mode. Ce réglage peut se faire pour un seul utilisateur, au moyen de l'éditeur graphique de configuration fourni avec Gnome. Mais, dans notre cas, il est plus utile d'effectuer ce réglage au niveau de l'ensemble du système. Pour cela, il faut au préalable fermer toutes les sessions Gnome ouvertes, puis, dans un vrai terminal (ou à distance, mais en tout cas, pas sous Gnome), en tant que root, lancer la commande :

    # gconftool-2 -s --direct --config-source=xml:merged:/
    etc/gconf/gconf.xml.defaults -t bool /apps/gksu/sudomode
    true

    Maintenant, lorsque vous lancez un logiciel d'administration (l'éditeur de configuration de GDM, par exemple) depuis le menu de Gnome, vous pouvez constater que c'est votre mot de passe qui vous est demandé.

    Sous KDE : KDE su

    Sous KDE, KDE su joue un rôle analogue à gksu. Par défaut, sous Debian, il est utilisé en mode su, donc il faut également le configurer. KDE su se configure de façon nettement plus simple et plus conforme aux habitudes unixiennes qu'avec Gnome (mais plus basique et moins performante) : il faut créer (ou éditer) un fichier nommé /etc/kde3/kdesu, et y placer les lignes:

    [super-user-command]
    super-user-command=sudo

    Vous pouvez maintenant lancer des programmes d'administration depuis le menu de KDE : c'est votre propre mot de passe qui vous sera demandé, et non plus le mot de passe de root.

    Et finalement, désactiver le compte root

    Finalement, vous pouvez désactiver le compte root, pour rendre obligatoire l'utilisation de Sudo ou de ses homologues graphiques. Évidemment, la prudence vous impose de vérifier auparavant que vous pouvez bien faire toutes les tâches administratives avec Sudo…
    Si vous êtes bien sûr de vous, en tant que root, vous pouvez :

    • désactiver le compte root : passwd -l root ;
    • réactiver le compte root : passwd -u root.

    Retrouvez cet article dans : Linux Pratique 44

    Posté par (La rédaction) | Signature : Tanguy Ortolo | Article paru dans Creative Commons License

    Laissez une réponse

    Vous devez avoir ouvert une session pour écrire un commentaire.