os.system Passwort Eingabe

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Bio Salami
User
Beiträge: 63
Registriert: Mittwoch 28. Juli 2021, 14:10

Hi,
Ich experimentiere mit dem os.system() Befehl und versuche das Starten und stoppen meiner Homebridge zu automatisieren. Nur muss man leider das Passwort eingeben um den Start oder den Stop von Homebridge zu erlauben. Mir ist zwar bekannt das mein mit

Code: Alles auswählen

os.system('erster befehl\nzweiter befehl')
mehrere befehle auf einmal ausführen kann. Das Passwort kann man auf diese weise aber nicht angeben.
Sirius3
User
Beiträge: 18275
Registriert: Sonntag 21. Oktober 2012, 17:20

os.system benutzt man nicht. Der normale Weg ist subprocess.run. Wie man ein Passwort übergeben kann, hängt aber dann vom konkreten Programm ab.
Benutzeravatar
Bio Salami
User
Beiträge: 63
Registriert: Mittwoch 28. Juli 2021, 14:10

Wie würde das richtige Programm dann aussehen? Zu starten braucht der halt den: sudo hb-service start Befehl und dann dass password
Sirius3
User
Beiträge: 18275
Registriert: Sonntag 21. Oktober 2012, 17:20

Es geht also darum, `sudo` auszuführen. Dann richte sudo am besten so ein, dass `hb-service` ohne Passwort ausgeführt werden kann. Wobei sich hier natürlich die Frage stellt, was da noch mit Python automatisiert werden muß, denn der Service ist ja zur Automatisierung da.
paddie
User
Beiträge: 103
Registriert: Donnerstag 11. Oktober 2018, 18:09

Wenn du sudo entsprechend konfiguriert kannst du den Befehl auch ohne Passworteingabe ausführen. Das sollte die Sache um einiges vereinfachen
Benutzeravatar
Bio Salami
User
Beiträge: 63
Registriert: Mittwoch 28. Juli 2021, 14:10

Danke
Antworten