Par exemple, j'aimerais permettre à Tom, le DBA, d'accéder à l'utilisateur oracle, mais pas à l'utilisateur tomcat ni à l'utilisateur root.
J'ai eu besoin de faire cela sur un système récemment et j'ai eu du mal à retrouver mes notes sur la configuration alternative que j'ai utilisée il y a des années et qui permettait aussi la syntaxe suivante su <user>
. Dans ma situation, j'avais besoin de permettre à plusieurs utilisateurs de su
à un utilisateur spécifique.
Créez un groupe en utilisant addgroup <groupName>
que les autres utilisateurs pourront su
sans mot de passe. Ensuite, ajoutez ce groupe à chaque utilisateur auquel vous voulez donner accès. su
à cet utilisateur sans mot de passe : usermod -a -G <groupName> <userName>
(o usermod -a -G oracle tom
). Les changements de groupe peuvent ne pas prendre effet avant la prochaine connexion.
Remarque : Dans votre cas, vous avez déjà le groupe car oracle
aurait été créé lorsque vous avez créé l'utilisateur oracle avec le groupe adduser oracle
.
Modifier maintenant /etc/pam.d/su
et sous les points suivants :
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
ajouter des lignes de règles d'authentification pour que la section ressemble à ceci :
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
auth [success=ignore default=1] pam_succeed_if.so user = <groupName>
auth sufficient pam_succeed_if.so use_uid user ingroup <groupName>
Remplacer <groupName>
con oracle
dans ce cas. Cela permettra à n'importe quel utilisateur faisant partie de l'équipe de gestion de la sécurité de l'entreprise d'avoir accès à l'information. <groupName>
a su <groupName>
Maintenant tom
puede su oracle
et si vous avez besoin de donner à d'autres utilisateurs le même accès, ajoutez-les à oracle
groupe.
question similaire aquí