Lesen Sie diese Fragen und Antworten:
brachte mir eine andere, die Probleme für neue Benutzer dieses Befehls erstellen wird:
- Wie konfiguriere ich
pkexec
für eine einfache Nutzung?
Zum Beispiel, wenn Sie Folgendes tun:
(Öffnen einer Datei im Terminal)
pkexec nano /etc/mysql/my.cnf
(Öffnen einer Datei in der GUI)
pkexec gedit /etc/mysql/my.cnf
Der letzte erhält den folgenden Fehler:
pkexec must be setuid root
Dies brachte mir folgende Fragen:
Wie konfiguriere
pkexec
ich, um dies zu vermeiden? Ähnlich wiesudo
/gksu
verhalten , wenn das gleiche tun (sie nur nach dem Passwort fragen).Wie kann es gegebenenfalls angewiesen werden, nach der ersten Anwendung auf einen Befehl kein Kennwort mehr anzufordern (oder den ersten Befehl einzuschließen, falls dies konfigurierbar ist)?
Wo kann die Konfigurationsdatei gespeichert werden, wenn sie noch nicht vorhanden ist?
Gibt es eine GUI-App zum Konfigurieren der
pkexec
Nutzung (Policy Kit)?
quelle
Antworten:
Wie konfiguriere
pkexec
ich, um Fehler beim Ausführen von GUI-Anwendungen zu vermeiden?Ich habe zwei Möglichkeiten gefunden:
Wie Sie sehen können, verwenden Sie Folgendes:
wird Ihnen keinen Fehler bringen. Und das ist normal, weil
man pkexec
in dieser Angelegenheit sehr klar ist:Als Ergebnis können Sie einen ( permanenten ) Alias erstellen (dies ist der einfachste Weg):
Oder (nochmal) wie
man pkexec
gesagt:Sie können eine neue Richtliniendatei mit dem folgenden XML-Code in
/usr/share/polkit-1/actions
namedcom.ubuntu.pkexec.gedit.policy
erstellen, wobei es am wichtigsten istorg.freedesktop.policykit.exec.allow_gui
, einen nicht leeren Wert festzulegen:Wie kann es angewiesen werden, nach dem ersten Anwenden auf einen Befehl nicht nach einem Kennwort zu fragen?
Für diese drei Einstellung tags:
allow_any
,allow_inactive
undallow_active
aus der Policy - Datei, stehen folgende Optionen zur Verfügung:sudo
die Autorisierung dauert ein paar Minuten.sudo
die Autorisierung dauert ein paar Minuten.Quelle: Polkit - Struktur - Maßnahmen
Wenn Sie also die Option auth_admin_keep (oder gegebenenfalls auth_self_keep ) verwenden,
pkexec
werden Sie einige Zeit lang nicht mehr nach einem Kennwort gefragt (standardmäßig ist diese Zeit wie angekreuzt auf 5 Minuten festgelegt). Der Nachteil hierbei ist, dass dieses Ding nur für ein und denselben Befehl / dieselbe Anwendung gilt und für alle Benutzer gültig ist (es sei denn, es wird in einer späteren Konfiguration außer Kraft gesetzt).Wo kann die Konfigurationsdatei gespeichert werden, wenn sie noch nicht vorhanden ist?
Konfigurationsdateien oder Polkit-Definitionen können in zwei Arten unterteilt werden:
Aktionen werden in XML-Richtliniendateien definiert, die sich in befinden
/usr/share/polkit-1/actions
. Mit jeder Aktion sind eine Reihe von Standardberechtigungen verknüpft (z. B. müssen Sie sich als Administrator identifizieren, um die GParted-Aktion verwenden zu können). Die Standardeinstellungen können außer Kraft gesetzt werden, das Bearbeiten der Aktionsdateien ist jedoch NICHT der richtige Weg. Der Name dieser Richtliniendatei sollte das folgende Format haben:Autorisierungsregeln werden in JavaScript-Regeldateien definiert. Sie befinden sich an zwei Stellen: Pakete von Drittanbietern können verwendet werden
/usr/share/polkit-1/rules.d
(wenn auch nur wenige) und/etc/polkit-1/rules.d
sind für die lokale Konfiguration vorgesehen. Die .rules-Dateien bezeichnen eine Untergruppe von Benutzern, verweisen auf eine (oder mehrere) der in den Aktionsdateien angegebenen Aktionen und legen fest, mit welchen Einschränkungen diese Aktionen von diesen Benutzern ausgeführt werden können. Beispielsweise könnte eine Regeldatei die Standardanforderung überschreiben, dass sich alle Benutzer bei Verwendung von GParted als Administrator authentifizieren müssen, um festzustellen, dass dies für einen bestimmten Benutzer nicht erforderlich ist. Oder darf GParted überhaupt nicht verwenden.Quelle: Polkit - Struktur
Gibt es eine GUI-Anwendung, um die
pkexec
Nutzung zu konfigurieren ?Soweit ich weiß, existiert bis jetzt (18.01.2014) so etwas nicht. Wenn ich in Zukunft etwas finde, werde ich nicht vergessen, diese Antwort auch zu aktualisieren.
quelle
doublecmd
mit ROOT PRIVELEGES laufen konnte, da ich Umgebungen exportieren musste mitDISPLAY & XAUTHORITY
!! Nur kleine Fragen: Gibt es einen Unterschied darin, Richtlinien zu schreiben oder wie immer ein Programm mit einem Befehlpkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY doublecmd
auszuführen?pkexec
so unsicher, alsgksudo
ob durch solche Alias laufen? kann es sein, anstelle eines Alias könnte es ein Skript mit Root-Rechten sein, könnte sicherer sein?auth_admin_keep
scheint nicht zu funktionieren. Wenn ich synaptic von gui aus starte (was äquivalent zu istpkexec synaptic
), fragt es jedes Mal nach dem Passwort. Irgendeine Idee warum?Zusätzlich zu Radus Antwort: Ich würde nicht den Alias pkexec verwenden, sondern gksudo .
Warum? Sie müssen Ihr Skript nicht neu schreiben.
Ich benutze folgende Konfiguration:
cd /usr/local/bin
sudo gedit gksudo
(Erstelle eine neue Datei mit dem Namen "gksudo"schreibe folgenden Inhalt:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY $@
(Vergessen Sie nicht die
$@
am Ende. Dies ist für die Umleitung aller Parameter)speichern und Beenden
chmod 755 gksudo
Aus Dokumentationsgründen werde ich schreiben, was ich versucht habe und was nicht:
~/.bash_aliases
ln -s pkexec [...]
)quelle