Löschen/Rückgängigmachen von Sudo-Berechtigungen für eine .py-Datei, die in einem Programm ausgeführt wird, das mit Sudo-Berechtigungen ausgeführt wird

Löschen/Rückgängigmachen von Sudo-Berechtigungen für eine .py-Datei, die in einem Programm ausgeführt wird, das mit Sudo-Berechtigungen ausgeführt wird

Ich muss ein Programm mit Sudo-Berechtigungen ausführen und führe die .pyDatei innerhalb des Programms aus. Wenn mein Programm also von sudodort aus ausgeführt wird, ruft es automatisch die .pyDatei 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, sudoaber 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

verwandte Informationen