Par exemple, j'aimerais autoriser Tom l'administrateur de la base de données à utiliser l'utilisateur oracle, mais pas l'utilisateur tomcat ou root.
J'avais besoin de faire cela récemment sur un système et j'avais du mal à trouver mes notes sur la configuration alternative que j'avais utilisée il y a des années et qui permettait également la syntaxe su <user>
. Dans ma situation, je devais autoriser plusieurs utilisateurs su
à un utilisateur spécifique.
Créez un groupe en utilisant ce addgroup <groupName>
que d'autres utilisateurs pourront faire su
sans mot de passe. Ajoutez ensuite ce groupe à chaque utilisateur que vous souhaitez pouvoir su
utiliser sans mot de passe:
usermod -a -G <groupName> <userName>
(ou usermod -a -G oracle tom
). Les changements de groupe pourraient ne pas entrer en vigueur avant la prochaine connexion.
Remarque: Dans votre cas, vous avez déjà le groupe car celui- oracle
ci aurait été créé lorsque vous avez créé l'utilisateur oracle avec adduser oracle
.
Maintenant, éditez /etc/pam.d/su
et sous ce qui suit:
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
..add lignes de règles d'authentification de sorte 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>
par oracle
dans ce cas. Cela permettra à tout utilisateur qui fait partie du <groupName>
àsu <groupName>
Vous tom
pouvez maintenant su oracle
et si vous devez donner le même accès à d'autres utilisateurs, ajoutez-les à un oracle
groupe.
question similaire ici