149 votes

Comment exécuter le script en tant qu’un autre utilisateur sans mot de passe

J'ai script.sh qui doit être exécuté en tant que user2. Cependant, ce script ne peut être exécuté en vertu de user1 dans mon application.

Je voudrais la commande suivante pour exécuter:

su user2 -C script.sh

mais être capable de fonctionner sans mot de passe.

Je veux aussi cela très restrictive, comme dans user1 ne peut exécuter script.sh en vertu de l'utilisateur2 et rien d'autre.

J'ai essayé de le faire avec sudoers, et viens de recevoir sans cesse confondu après des heures à essayer.

Si quelqu'un peut fournir un exemple clair de la façon dont ceci peut être accompli (au lieu de quelque chose de générique, comme l'utilisation sudoers), il serait grandement apprécié.

193voto

Jeronimo Robles Points 629

try en cours d’exécution :

Cela s’exécutera la commande comme nom d’utilisateur, étant donné que vous êtes autorisé à sudo sous cet utilisateur.

126voto

pyroscope Points 2545

Appelez `` et ajoutez ceci :

Les chemins d’accès de la commande doivent être absolues ! Appelez ensuite d’une shell. Fait.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X