Comment définir les variables d'environnement avec sudo -u USER?

2

Bonjour et désolé pour mon anglais à l'avance.

J'ai besoin d'exécuter depuis la commande root comme

envVariable1=15 envVariable2=25 sudo -u user1 sudo -E myCommand

mais les variables d'environnement ne sont pas transmises à myCommand. Cela peut sembler illogique, mais il est nécessaire d’exécuter une commande à partir de la racine et avec sudo , elle sera utilisée dans les scripts. Comment puis-je contourner le problème?

HeroFromEarth
la source
2
Pourquoi le double sudo? Quel est le problème avec envVariable1=15 envVariable2=25 sudo -E myCommand? S'il y a une bonne raison pour la première sudo, il faut aussi une -E. Sinon, si vous n'avez pas besoin de conserver d'autres variables d'environnement, ajoutez une envcommande à la dernière sudo, comme dans sudo -u user1 sudo env envVariable1=15 envVariable2=25 myCommand.
AFH

Réponses:

2

Je devrais taper var1=1 var2=2 sudo -E -u user1 sudo -E myCommandpuis var1 et var2 seront disponibles pour user1.

Merci à AFH de m'aider à trouver une réponse!

HeroFromEarth
la source