Disable root password and gain su sudo with no password (Français)

From ArchWiki

Jump to: navigation, search
i18n
English
Français

Pourquoi :

  1. La protection apportée par un mot de passe utilisateur est aussi forte que celle du mot de passe root, et un utilisateur doit d'abord se logger pour utiliser su/sudo.
  2. Le mot de passe root sera désactivé - donc n'importe qui essayant de se logger en tant que root verra son acces refuse... Ceci oblige les personnes souhaitant se logger a connaitre un nom d'utilisateur, ce qui apporte plus de securite.
  3. Une fois la sécurité locale compromise, le mot de passe root ne vaut rien s'il y a un live-cd (ou une batte de baseball comme dirait l'autre) dans les parages...

De quoi avez-vous besoin :

Vous devez avoir "sudo" d'installé. Vous pouvez l'obtenir avec pacman:

# pacman -S sudo

Comment :

1. Permettez a l'utilisateur d'utiliser sudo :

1.1 Ajoutez "<user> <machine_name/ALL>=(ALL) ALL" au fichier /etc/sudoers. Il se peut que vous ayez besoin d'utiliser visudo pour le faire. (Rentrez visudo au prompt et editez. La commande :s lance le mode d'edition de vi, Esc l'arrete, :wq sauve le fichier et quitte, :q quitte visudo).

   > visudo
   #permet a l'utilisateur ziggy d'utiliser sudo depuis la machine locale uniquement (ma_machine_nom = HOSTNAME dans rc.conf et PAS localhost):
   ziggy   ma_machine_nom=(ALL) ALL
   #permet a l'utilisateur arch d'utiliser sudo de n'importe ou (local/net):
   arch    ALL=(ALL) ALL 

1.2 Si vous n'avez pas utilise visudo, vous devrez faire un CHMOD /etc/sudoers avec les permissions 0440

chmod 0440 /etc/sudoers

2. Desactivez root et obtenez su/sudo sans mot de passe :

2.1 Ajoutez le groupe 'wheel' aux comptes installes:

      gpasswd -a <username> wheel
 

2.2 Permettez aux membres du groupe 'wheel' d'utiliser sudo (qui sera sans mot de passe car le compte root sera desactive) en ajoutant la ligne suivante a /etc/pam.d/sudo :

      auth           sufficient      pam_wheel.so trust use_uid
 

2.3 Pour permettre aux utilisateurs du groupe wheel de se logger de facon locale seulement, ajoutez la ligne suivante au fichier /etc/security/access.conf :

      -:wheel:ALL EXCEPT LOCAL
 

2.4 Testez le, puis desactivez le compte root en enlevant son mot de passe.

      passwd -l root
 

3. Si un jour vous avez besoin de reactiver le compte root, lancez simplement

     sudo passwd root
 

c'est tout. Profitez bien de votre compte root sans mot de passe. :)


3. Pour les utilisateurs de Kde, utiliser sudo avec kdesu :


Astuce tirée de http://bugs.kde.org/show_bug.cgi?id=20914#c24


kdesu peut (et devrait) être utilisé sous kde pour lancer des applications graphiques. Par défaut kdesu utilise su. Mais comme le compte root a été désactivé, su ne marchera pas. Heureusement on peut dire à kdesu d'utiliser sudo à la place de su. Il y a 2 façons de faire :


3.1 Recompiler kdebase avec l'option '--with-sudo-kdesu-backend'.


3.2 Créer un fichier kdesurc dans '/opt/kde/share/config/' avec ceci :

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