Ich versuche, nur einen Teil meines Skripts task.py
in sudo
Modus ausführen. Idealerweise würde ich task.py
mit folgendem Aufbau aus:führen Teil des Python-Skript als sudo
if __name__ == '__main__':
print('running normal parts')
. . .
. [running normal commands] .
. . .
print('running sudo parts')
. . .
. [running sudo commands] .
. . .
wo ich eingeben muß ein Passwort für die sudo Teile des Skripts nicht so, dass ich nur einen einzigen Anruf $ python task.py
von der Kommandozeile machen.
Gibt es ein nettes zu sagen Python, den zweiten Block als sudo
auszuführen? Ich sah das subprocess
Modul hatte eine Möglichkeit, einen Befehl mit sudo
privelages aufzurufen, aber ich würde lieber nicht die "sudo Teile" in ein separates Skript, um den "running sudo commands" -Teil zu tun.
Mögliche Duples: [this] (https://stackoverflow.com/questions/34189165/python-running-select-sections-of-code-as-sudo) und [this] (https://stackoverflow.com/questions/34281235/How-Do-Sie-temporäre-Run-your-Code-als-root). – ForceBru
'sudo' führt Befehle nicht als root aus, ohne das Passwort einzugeben, außer wenn Sie eine Regel dafür in'/etc/sudoers' definieren, um einen Befehl als Benutzer oder root ohne Passwort auszuführen. Sie müssen damit besonders vorsichtig sein. – direprobs