ubuntuusers.de

Bashscript: Automatisierte Passworteingabe?

Status: Ungelöst | Ubuntu-Version: Ubuntu 14.10 (Utopic Unicorn)
Antworten |

SimpleMind

Anmeldungsdatum:
25. November 2008

Beiträge: 90

Hallo zusammen,

ich probiere seit ein paar Tagen mit Bashscripts herum, bin nun aber auf ein Problem gestoßen, dass ich alleine nicht lösen kann. Ich habe - einfach mal als Anwendungsbeispiel - versucht, den Update/Upgradeprozess komplett zu automatisieren - wofür man natürlich su und Passwort braucht. Mein Skript sieht bisher so aus:

1
2
3
4
5
6
#!/usr/bin/expect -f
set pw "passwort"

sudo apt-get update && sudo apt-get upgrade
expect "[sudo] password for benutzer: "
send "$pw\r"

Leider klappt es vorne und hinten nicht. Als expect-Script kann es anscheinend keine Shellbefehle ausführen, umgekehrt kann ein Bashscript logischerweise nicht mit expect zurechtkommen. Daher mal eine grundlegende Frage: Ist ein solches Script überhaupt realisierbar, sprich, lässt Ubuntu sich ein Passwort aus der Retorte vorsetzen? Falls ja, ist der Weg über expect der richtige oder sollte man da anders arbeiten? Ich hab mich hauptsächlich deshalb für expect entschieden, da ich damit eine automatische Anmeldung an einem Server über ssh geschafft habe und dachte, ich könnte das vergleichsweise einfach auf dieses Problem übertragen. Falsch?

Danke im vorraus!

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55484

Wohnort: Berlin

Wie du ja in deinem Skript selbst festgestellt hast sind Rootrechte notwendig für das Einspielen der Aktualisierungen. Es würde sich also empfehlen im Skript kein sudo zu nutzen und Nutzerpasswörter abzufragen, sondern das Skript selbst mit Rootrechten aufzurufen.

Bzw. empfiehlt sich das gar nicht, denn eine "automatisierte Aktualisierung" (die dein Skript im Übrigen nicht bewirken wird) ist in der Regel nichts, was man will. Und Nutzerpasswörter im Klartext auch nicht.

Außerdem noch der Hinweis, dass die von dir angegebene Version 14.10 noch in diesem Monat ihr EoS erreichen wird.

Antworten |