Jetzt zu laufen, ich habe eine Python-GUI-Anwendung, die einen Befehl mit sudo Privileg wie dies unten ausgeführt werden muß:ein Root-Rechte zu einer Python-GUI-Anwendung gibt einen Befehl in ubuntu
import commands
iStat, askpassPath = commands.getstatusoutput("which ssh-askpass")
cmd = "export SUDO_ASKPASS=%s;sudo -A mkdir -p /usr/lib/test"%(askpassPath)
commands.getstatusoutput(cmd)
Das funktioniert gut, wenn ssh-askpass auf ubuntu installiert wurde. Aber es scheint, dass einige ubuntu-Systeme es nicht standardmäßig installieren, während ich es nicht für sie installieren kann.
Also, ich muss wissen, ob es eine andere Möglichkeit für mich gibt, ein Sudo-Privileg zu bekommen.
Vielen Dank im Voraus.
Edit: Die App sollte nicht mit Root-Privilegien gestartet werden.Es muss Root-Rechte nur erhalten, wenn es ausgeführt wird.
Es ist sehr interessante Frage für mich. Ich denke du solltest 'gksu/gksudo' verwenden ([Wie kann ich eine Anwendung mit einer GUI als Administrator ausführen] (https://askubuntu.com/questions/164819/how-can-i-run-an-an-application-with) -a-gui-as-admin-von-einer-nicht-admin-benutzer-sitzung)) als Frontend-Anwendung, um Root-Rechte zu erhalten, bevor Sie die Anwendung starten. Danach sollten Sie einen root-Befehl ausführen und dann sollten Sie die Rechte herunterfahren. Wenn die Anwendung ohne Root-Rechte gestartet wurde, sollten Sie den Benutzer darüber informieren. So sehe ich es. Sie können ähnliches Verhalten in * wireshark * -Anwendung sehen. – frist
@ first.This Lösung ist nicht für mich geeignet, weil unsere App für die Arbeit verwendet wird, wird der Benutzer nicht in der Lage sein, es mit Root-Privilegien ausführen. Außerdem kann ich ihnen keinen Tooltip geben, da andere Funktionen keine root-Rechte benötigen, was zu einer schlechten Benutzererfahrung führen wird. Also kann ich nur interim root-Rechte bekommen, um etwas zu tun, wenn der Befehl root-Rechte benötigt . –
'ssh-askpass' ist nur ein Programm, das Dialogfenster anzeigt und auf das vom Benutzer eingegebene Passwort schreibt. Ich hoffe, dass Sie eine Werkzeuganwendung machen können, die den Job erledigt und es als 'SUDO_ASKPASS' Programm für' sudo' spezifiziert. – frist