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!
Passwort ändern mit python
os.system sollte nicht benutzt werden. Benutze das subprocess Modul.
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.
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.