Par défaut seul root a le droit de basculer vers un autre utilisateur sans saisir de mot de passe, par contre les utilisateurs normal seront invités à entrer le mot de passe, si le mot de passe est incorrecte un message d’erreur s’affiche « Échec d’authentification » :
[sysreseau@linux ~]$ su - user1 Mot de passe : su: Échec d'authentification
Pour pouvoir basculer vers un autre utilisateur sans mot de passe sous Linux, vous pouvez utiliser l’une des deux méthodes que nous allons voir dans cet article.
Objectif :
Nous souhaitons que n’importe utilisateur (admin dans notre cas) faisant partie au groupe Network puisse basculer vers l’utilisateur Netadmin sans fournir de mot de passe.
[root@linux ~]# useradd admin -G Network
Utiliser le module PAM
PAM (Pluggable Authentication Modules) permet de contrôler les authentifications et les autorisations sur un système Linux. Pour permettre à un utilisateur appartenant à un groupe de basculer vers un autre utilisateur sans fournir de mot de passe il suffit de modifier les paramètre par défaut de PAM pour la commande su via le fichier /etc/pam.d/su an ajoutant les lignes ci-dessous :
auth [success=ignore default=1] pam_succeed_if.so user = postgres auth sufficient pam_succeed_if.so use_uid user ingroup postgres
Explication :
La première ligne vérifier si l’utilisateur cible est bien « Netadmin« , si ce n’est pas le cas l’authentification normale est exécutée.
La deuxième ligne vérifie si l’utilisateur courant fait bien partie du groupe Network, si c’est le cas l’authentification sans mot de passe se fait avec succès sinon l’authentification normal est exécuté.
Maintenant en tant que « admin » utiliser la commande su pour basculer vers l’utilisateur Netadmin :
[root@linux ~]# su - admin Dernière connexion : vendredi 23 avril 2021 à 11:39:32 CEST sur pts/0 [admin@linux ~]$ su - Netadmin [Netadmin@linux ~]$
Utiliser le fichier sudoers :
La deuxième méthode consiste à ajouter dans le fichier /etc/sudoers l’utilisateur ( admin dans notre cas) depuis lequel vous allez basculer vers l’utilisateur cible ( Netadmin dans notre cas).
Editer le fichier sudoers avec la commande visudo :
[root@linux ~]# visudo
Ajouter ensuite la ligne ci-dessous et enregistrer le fichier :
admin ALL=NOPASSWD: /bin/su – Netadmin
Maintenant en tant que « admin » utiliser la commande su pour basculer vers l’utilisateur Netadmin :
[admin@linux ~]$ su - Netadmin Dernière connexion : vendredi 23 avril 2021 à 11:40:05 CEST sur pts/0 [Netadmin@linux ~]$
7zip: 9 Commandes utiles de les plus utilisés
Mis en place d’un cluster kubernetes avec kubeadm
Comment installer Docker sur Rocky Linux 9
Comment installer Splunk sur CentOS
Fail2Ban : How to protect Linux services