Disable root password and gain su sudo with no password (Français)
From ArchWiki
i18n |
---|
English |
Français |
Pourquoi :
- 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.
- 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.
- 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