it-swarm.com.de

Wie gebe ich einer App Root-Rechte?

Ich habe versucht, eine App an das Ubuntu Software Center zu senden, diese wurde jedoch abgelehnt, da Sie das Administratorkennwort eingeben mussten, um sie zu verwenden. Ich muss der App Root-Rechte gewähren, damit sie funktioniert. Deshalb habe ich Sudo verwendet. Aber sie sagten, ich kann Sudo nicht in meiner App verwenden. Wie kann ich ihm root-Rechte geben?

4
thelostlambda

Sie müssen die APIs PolicyKit verwenden, um die Eskalation von Berechtigungen anzufordern. Im Allgemeinen sollten Sie dies nur tun, wenn dies unbedingt erforderlich ist, und die Anwendung nicht immer mit erweiterten Berechtigungen ausführen.

Es ist erwähnenswert, dass Sie, wenn Sie nur Root-Berechtigungen beim Start benötigen, als Root starten können und sollten, aber dann an einen nicht privilegierten Benutzer übergeben werden. Wenn Sie als benutzerbezogenes Programm arbeiten, ist dies wahrscheinlich der Benutzer, der das Programm ausgeführt hat. Wenn dies einen Daemon wie httpd oder sshd bedeutet, handelt es sich wahrscheinlich um einen unglaublich gesperrten Benutzer, der speziell für die Ausführung Ihres Programms erstellt wurde.

Es gibt auch grafische Frontends für Sudo mit dem Namen gksudo und kdsudo für GNOME bzw. KDE. Wenn jemand empfiehlt, dass Sie diese verwenden, nicht. Beachten Sie, dass diese Programme zu Gunsten von PolicyKit veraltet sind, nicht standardmäßig installiert werden und Ihre App wahrscheinlich abgelehnt wird.

5
dobey

Ihre App ist möglicherweise überhaupt nicht zulässig. Laut Ubuntu-Wiki lehnt das App Review Board Anwendungen ab, die Systemdateien berühren:

Ihre Anwendung scheint im Rahmen ihres Betriebs Systemdateien zu berühren. Apps gestatten dies jedoch nicht im Rahmen einer Sicherheitsrichtlinie für extras.ubuntu.com. Für diese Anwendungen empfehlen wir, dass Sie die Schritte unter https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages ausführen, um Ihr Paket an Debian oder zu senden Ubuntu.

Eine Bereinigungs-App würde Systemdateien berühren.

Während diese Richtlinie nur für Open-Source-Apps gilt ( , wird die Richtlinie für proprietäre Apps nicht veröffentlicht ), stelle ich mir ähnliche Regeln für proprietäre Apps vor.

Wenn Ihre App Open Source ist, können Sie sie dennoch in das Software Center laden, indem Sie sie verpacken und an die wichtigsten Ubuntu- oder Debian-Repositorys senden .

2

Sie benötigen kein PolicyKit oder ähnliches. Ändern Sie einfach den App-Besitzer und die Berechtigungsstufe:

Sudo chown root:root /path/to/app
Sudo chmod 4755 /path/to/app

Natürlich benötigen Sie Root-Rechte, um diese Befehle auszuführen.

0
Chef Pharaoh