it-swarm.com.de

Verwenden Sie Sudo mit Passwort als Parameter

Ich möchte Sudo mit meinem Passwort als Parameter ausführen, damit ich es für ein Skript verwenden kann. Ich habe es versucht

Sudo -S mypassword execute_command

aber ohne Erfolg. Irgendwelche Vorschläge?

66
ccman

Mit der -S-Taste liest Sudo das Kennwort von STDIN. Das heißt, Sie können tun

echo mypassword | Sudo -S command

um das Passwort an Sudo weiterzugeben

Die Vorschläge anderer, bei denen das Kennwort nicht als Teil eines Befehls übergeben wird, z. B. um zu überprüfen, ob der Benutzer root ist, sind aus Sicherheitsgründen wahrscheinlich viel bessere Ideen

147
stonesam92

Sie können das s -Bit für Ihr Skript so einstellen, dass es Sudo nicht benötigt und als root ausgeführt wird (und Sie müssen Ihr root-Passwort nicht in das Skript schreiben):

Sudo chmod +s myscript
45
perreal
echo -e "YOURPASSWORD\n" | Sudo -S yourcommand
22
matteomattei

Eine Möglichkeit besteht darin, die -A-Flagge für Sudo zu verwenden. Dies führt ein Programm aus, um nach dem Passwort zu fragen. Anstatt zu fragen, könnten Sie ein Skript haben, das nur das Kennwort ausgibt, damit das Programm fortgesetzt werden kann.

2
Lucas Holt