J'aimerais autoriser certains utilisateurs à accéder à un autre compte sans avoir à connaître le mot de passe de ce compte, mais ne pas autoriser l'accès à un autre compte d'utilisateur (par exemple, root).
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'imagine que cela pourrait être fait avec le fichier / etc / sudoers - est-ce possible? Si c'est le cas, comment?
Ajoutez à votre / etc / sudoers quelque chose comme
Ensuite, l'utilisateur tom devrait pouvoir utiliser sudo pour exécuter des tâches en tant qu'utilisateur oracle avec l'option -u, sans laisser tom
Par exemple, obtenir un shell en tant qu'utilisateur oracle (enfin, étant donné que votre sudo est suffisamment nouveau pour avoir l'option -i).
la source
tom ALL=(oracle)NOPASSWD:ALL
pour que sudo ne demande pas de mot de passePour fournir UNIQUEMENT les capacités de la question, ajoutez ce qui suit à / etc / sudoers:
Alors tom peut:
la source
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 utilisateurssu
à un utilisateur spécifique.Créez un groupe en utilisant ce
addgroup <groupName>
que d'autres utilisateurs pourront fairesu
sans mot de passe. Ajoutez ensuite ce groupe à chaque utilisateur que vous souhaitez pouvoirsu
utiliser sans mot de passe:usermod -a -G <groupName> <userName>
(ouusermod -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 avecadduser oracle
.Maintenant, éditez
/etc/pam.d/su
et sous ce qui suit:..add lignes de règles d'authentification de sorte que la section ressemble à ceci:
Remplacer
<groupName>
paroracle
dans ce cas. Cela permettra à tout utilisateur qui fait partie du<groupName>
àsu <groupName>
Vous
tom
pouvez maintenantsu oracle
et si vous devez donner le même accès à d'autres utilisateurs, ajoutez-les à unoracle
groupe.question similaire ici
la source