Passwort ändern mit python

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
Root3500
User
Beiträge: 1
Registriert: Freitag 24. Juli 2020, 08:51

Hallo,
Möchte mit python meinen root server steuern. Somit will ich auch das ich mein passwort per python zurüchsetzten kann.
Der code:
```
import os

os.system ("sudo passwd root; Test; Test")
```
Oder:
import os

os.system ("sudo passwd root")
os.system ("Test")
os.system ("Test")

Vermute aber des jedes mal dabei ein neues terminal geöffnet wird.
Wie kann ich das unterbinden oder es anders machen?
Danke im vorraus!
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

os.system sollte nicht benutzt werden. Benutze das subprocess Modul.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

os.system sollte man nicht mehr verwenden. Und vor allem ist es auch keine Art interaktiver Session, bei der du zeilenweise etwas eingibst. Jeder Aufruf ist ein eigener Prozess, der unabhängig ausgeführt wird.

Du kannst mit dem subprocess-Modul arbeiten, damit lassen sich Eingaben machen, und die Ausgabe lesen. Aber nicht in allen Fällen, und deiner ist wahrscheinlich ein solcher. Der Begriff dazu heißt “Controlling Terminal”.

Du musst anders vorgehen, sieh hier: https://unix.stackexchange.com/question ... mmatically

Damit & mit subprocess sollte es gehen. ACHTUNG: subprocess ist nicht einfach ein Ersatz für Shell-Skripte! Lies dir die Doku mal durch.
Antworten