Avec cette commande, la deploy script est exécuté sous l'utilisateur root, cependant, la ./tmp/cp1.sh script est exécuté par le shell courant sous votre actuelle privilèges. Pour éviter cela, vous pouvez ajouter un préfixe de sudo pour les deux:
sudo /usr/local/sbin/deploy | sudo ./tmp/cp1.sh
Ou vous pouvez frayer un obus à l'intérieur de sudo, de sorte que la coque est déjà en cours d'exécution en tant que root:
sudo sh -c '/usr/local/sbin/deploy | ./tmp/cp1.sh'
Mais gardez à l'esprit que lorsque vous frayer hors d'un shell à l'aide de sudo, vous avez juste créé un shell root en fournissant un mot de passe utilisateur, c'est pourquoi, l'OMI, qui ne doit pas être activée sur un système sécurisé.
Le problème est que lorsque vous voulez faire, vous avez besoin d'avoir le mot de passe sudo et être dans le fichier sudoers, sinon ce sera un échec.
Mais vous pouvez essayer d'utiliser gksudo (version graphique de sudo) donc, quand il est appelé, il demande le mot de passe.
Salut, Merci pour la réponse.... Est-il un autre moyen d'accomplir cela sans entrer de mot de passe...
Avec cette commande, la
deploy
script est exécuté sous l'utilisateur root, cependant, la./tmp/cp1.sh
script est exécuté par le shell courant sous votre actuelle privilèges. Pour éviter cela, vous pouvez ajouter un préfixe de sudo pour les deux:Ou vous pouvez frayer un obus à l'intérieur de sudo, de sorte que la coque est déjà en cours d'exécution en tant que root:
OriginalL'auteur intgr
Le problème est que lorsque vous voulez faire, vous avez besoin d'avoir le mot de passe sudo et être dans le fichier sudoers, sinon ce sera un échec.
Mais vous pouvez essayer d'utiliser gksudo (version graphique de sudo) donc, quand il est appelé, il demande le mot de passe.
OriginalL'auteur Bloeper