Frage

Ein Teil meines Python-Programm benötigt Zugriff Administrator. Wie kann ich root-Rechte mit einem GUI Popup ähnlich den gksudo Befehl gewinnen?

Ich brauche nur Root-Privilegien für einen kleinen Teil meines Programms, so wäre es besser, nur für eine bestimmte Funktion, die Privilegien haben.

Ich hoffe, der Lage sein, etwas zu tun:

gksudo(my_func, 'description of why password is needed')
War es hilfreich?

Lösung

Sie haben zwei Möglichkeiten:

Sie müssen den Teil des Programms zu machen, die Root-Rechte eine separate Datei erfordert, und führen Sie dann die Datei wie folgt aus:

>>> import subprocess
>>> subprocess.call(['gksudo','python that_file.py'])

, die die Passwortabfrage bringen und that_file.py als root ausführen

Sie können auch verlangen, dass ein Programm als root von Anfang an ausgeführt werden und müssen nur den Programm Benutzertyp „gksudo Python your_program.py“ in der Befehlszeile von Anfang an, die offensichtlich nicht die beste Idee ist, wenn Ihr Programm ist normalerweise aus einem Menü gestartet.

Andere Tipps

gksudo kann Programme starten verwendet werden, laufen mit Administratorrechten an. Der Teil der Anwendung, dass Bedürfnisse als root ausführen, muß in der Lage sein, als separater Prozess von der Kommandozeile aufgerufen werden. Wenn Sie irgendeine Form der Kommunikation zwischen den beiden benötigen, können Sie Steckdosen oder Uhr für eine Datei verwenden könnte, etc.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top