J'essaie de trouver un moyen de permettre à l'utilisateur john d'exécuter une commande (disons echo) pour le compte d'un autre utilisateur peter sans qu'on lui demande son mot de passe.
J'ai trouvé un fil de discussion qui, selon moi, répondrait à ma question :
john ALL = (ALL) NOPASSWD: /bin/echo
Malheureusement, cela ne fait pas tout à fait ce que je veux. Cette commande exécute le echo
comme peter
mais dans le contexte de john
. Cela signifie que le répertoire personnel reste celui de john
.
Comme l'utilisateur john
si je me présente : " sudo -u peter echo ~
", la réponse est : /home/john
. Je veux que ce soit /home/peter
.
Le comportement que j'attendais est fourni par la commande su. En tant que root, si je fais : su peter -c "echo ~"
j'obtiens /home/peter
.
La question qui se pose est la suivante : comment puis-je obtenir le comportement de su
sans être root et sans être invité à entrer un mot de passe ?