GNU/Linux >> Tutoriels Linux >  >> Linux

Comment passer (su) à un autre compte d'utilisateur sans mot de passe

Dans ce guide, nous montrerons comment passer à un autre compte utilisateur ou à un compte utilisateur spécifique sans nécessiter de mot de passe. Par exemple, nous avons un compte utilisateur appelé postgres (la valeur par défaut PostgreSQL compte système superutilisateur), nous voulons que chaque utilisateur (généralement notre PostgreSQL bases de données et administrateurs système) dans le groupe appelé postgres pour passer au postgres compte en utilisant le su commande sans saisir de mot de passe.

Par défaut, seul l'utilisateur root peut basculer vers un autre compte utilisateur sans saisir de mot de passe. Tout autre utilisateur sera invité à entrer le mot de passe du compte d'utilisateur vers lequel il bascule (ou s'il utilise la commande sudo, il sera invité à entrer son mot de passe), s'il ne fournit pas le mot de passe correct, il obtient un "échec de l'authentification ” erreur comme indiqué dans la capture d'écran suivante.

Vous pouvez utiliser l'une des deux solutions fournies ci-dessous pour résoudre le problème ci-dessus.

1. Utilisation du module d'authentification PAM

PAM (Modules d'authentification enfichables ) sont au cœur de l'authentification des utilisateurs sur les systèmes d'exploitation Linux modernes. Pour permettre aux utilisateurs d'un groupe spécifique de basculer vers un autre compte utilisateur sans mot de passe, nous pouvons modifier les paramètres PAM par défaut pour la commande su dans le /etc/pam.d/su fichier.

# vim /etc/pam.d/su
OR
$ sudo vim /etc/pam.d/su

Ajoutez les configurations suivantes après "auth suffisant pam_rootok.so ” comme indiqué dans la capture d'écran suivante.

auth       [success=ignore default=1] pam_succeed_if.so user = postgres
auth       sufficient   pam_succeed_if.so use_uid user ingroup postgres

Dans la configuration ci-dessus, la première ligne vérifie si l'utilisateur cible est postgres , si c'est le cas, le service vérifie l'utilisateur courant, sinon, le default=1 la ligne est ignorée et les étapes d'authentification normales sont exécutées.

auth       [success=ignore default=1] pam_succeed_if.so user = postgres

La ligne qui suit vérifie si l'utilisateur actuel est dans le groupe postgres , si yes , le processus d'authentification est considéré comme réussi et renvoie un résultat suffisant. Sinon, les étapes d'authentification normales sont exécutées.

auth       sufficient   pam_succeed_if.so use_uid user ingroup postgres

Enregistrez le fichier et fermez-le.

Ensuite, ajoutez l'utilisateur (par exemple aaronk ) que vous voulez su au compte postgres sans mot de passe au groupe postgres en utilisant la commande usermod.

$sudo usermod -aG postgres aaronk

Maintenant, essayez de su au postgres compte en tant qu'utilisateur aaronk , vous ne devriez pas être invité à saisir un mot de passe, comme illustré dans la capture d'écran suivante :

$ su - postgres

2. Utilisation du fichier Sudoers

Vous pouvez aussi su à un autre utilisateur sans exiger de mot de passe en apportant quelques modifications au fichier sudoers. Dans ce cas, l'utilisateur (par exemple aaronk ) qui basculera vers un autre compte utilisateur (par exemple postgres ) doit se trouver dans le fichier sudoers ou dans le groupe sudo pour pouvoir invoquer la commande sudo .

$ sudo visudo

Ajoutez ensuite la configuration suivante sous la ligne “%sudo ALL=(ALL:ALL) ALL” comme indiqué dans la capture d'écran suivante.

aaronk ALL=NOPASSWD: /bin/su – postgres

Enregistrez et fermez le fichier.

Maintenant, essayez de su au compte postgres en tant qu'utilisateur aaronk , le shell ne devrait pas vous demander de saisir un mot de passe :

$ sudo su - postgres

C'est tout pour le moment! Pour plus d'informations, consultez la page de saisie du manuel PAM (man pam.conf ) et celui de la commande sudo aussi (man sudo ).

$ man pam.conf
$ man sudo
Lire connexe :10 configurations Sudoers utiles pour définir "sudo" sous Linux
Linux
  1. Comment créer manuellement un compte utilisateur Linux

  2. UNIX / Linux :Comment verrouiller ou désactiver un compte utilisateur

  3. Comment changer le mot de passe d'un compte utilisateur LXC Container

  4. Comment configurer postgresql pour la première fois ?

  5. Comment puis-je renommer un utilisateur unix ?

Comment supprimer ou supprimer un compte utilisateur MySQL

Comment ajouter un utilisateur sur AlmaLinux

Comment utiliser le gestionnaire d'utilisateurs de cPanel

Comment créer des utilisateurs et des groupes dans CentOS7 ?

Comment créer un utilisateur sur Ubuntu Linux de plusieurs façons

Comment créer un utilisateur ou un contact