Exécuter le script en tant qu'autre utilisateur sur Linux

Je suis en train de créer un terminal Linux menu par un simple script. Dans le script il y aura quelques commandes qui seront présenter un travail (un script shell par exemple) tant qu'un autre utilisateur sans mot de passe.

J'ai été en mesure de trouver le post suivant, et cela a fonctionné. comment faire pour exécuter le script d'un autre utilisateur sans mot de passe
Cependant, il y avait un effet secondaire. Il semble que l'utilisateur peut exécuter d'autres scripts dans le dossier de l'utilisateur que je ne veux pas.

Des suggestions/aide bienvenue.

Pour le bien de cette. Voici ce que j'ai:

  1. Nom d'utilisateur temp1, qui est l'utilisateur qui fait tourner le menu.
    uid=1001(temp1), gid=1001(temp1), les groupes=1001(temp1)

  2. Nom d'utilisateur wayne, qui est à l'utilisateur que le script doit être soumis à exécuter le travail
    uid=1000(wayne), gid=1000(wayne),groups=1000(wayne),4(adm),24(cd-rom),27(sudo),30(dip)...

  3. Script script1.sh, script2.sh détenue par wayne.

    -rwxr-xr-x script1.sh
    -rwxr-xr-x script2.sh
  4. Si j'essaie d'aller à /home/wayne comme temp1 utilisateur-je obtenir la permission refusée (prévu)

  5. J'ai mis les scripts de faire un chmod 700 pour wayne. Donc, techniquement, on ne peut exécuter qu' wayne.

  6. J'ai édité sudo fichier et l'entrée suivante:

    temp1 ALL(wayne) NOPASSWD: /home/wayne/script1.sh
  7. Quand je lance la commande su -c "/home/wayne/script1.sh" -s /bin/sh wayne l'exécution du script (comme prévu)

  8. Quand je lance la commande su -c "/home/wayne/script2.sh" -s /bin/sh wayne l'exécution du script (pas prévu).

Des idées?

  • Une différence entre votre examplar question et votre question est que l'autre question utilise user1 ALL=(user2) NOPASSWD: /home/user2/bin/test.sh mais vous omettez le = dans votre version. Que peut-être tout ce qui est mauvais; il pourrait être innocent. Il vaut la peine de vérifier.
  • J'ai fait en sorte qu'il avait l'égale et encore obtenu les mêmes résultats. La sortie est détenue par wayne donc je connais son fonctionnement correct de script.
  • Aucune aide n'importe qui?
InformationsquelleAutor Xathras | 2014-11-22