Ich muss ein Programm mit Sudo-Berechtigungen ausführen und führe die .py
Datei innerhalb des Programms aus. Wenn mein Programm also von sudo
dort aus ausgeführt wird, ruft es automatisch die .py
Datei mit auf bzw. führt sie aus sudo
. Ich führe die Datei wie folgt aus:
./myFile.py arg1 arg2
Meine Anforderung ist, dass mein Programm ausgeführt werden muss, sudo
aber wenn ich eine Datei innerhalb des Programms ausführe/aufrufe .py
, sollte es mit normalen Berechtigungen (ohne sudo
) ausgeführt werden.
Wie soll ich vorgehen?
Antwort1
Starten Sie Ihr Python-Skript in Ihrem Programm mit
su -c '<your_python_script>' - <your_user_name>
Beispiele
$ sudo su -
$ whoami
root
$ su -c 'whoami' - aboettger
aboettger
oder als Skript mit dem Namenfoo
#!/bin/bash
whoami
su -c 'whoami' - aboettger
exit 0
Beispielausgabe
sudo ./foo
root
aboettger