PolicyKit
AppArmor
SELinux
sonstiges
/etc/polkit-1/localauthority.conf.d - Konfigurationsdatei Verzeichnis
/etc/polkit-1/localauthority - "Authorization Entries", Regeln für Systemfunktionen
Die Regeln sind ohne Neustart sofort gültig.
/usr/share/polkit-1/actions - definierte Aktionen
Befehl | Erläuterung |
---|---|
pkaction --verbose | Liste der PolicyKit Aktionen der Distriburtion |
PolicyKit Berechtigungsarten | Erklärung |
---|---|
yes | Benutzer darf Aktion auslösen, Passwort ist nicht notwendig |
no | Aktion ist für den Benutzer gesperrt |
auth_self | Benutzer muß eigenes Passwort eingeben |
auth_self_keep | Benutzer muß eigenes Passwort eingeben, PolicyKit merkt sich das einige Sekunden |
auth_admin | Passwort eines Administrators ist notwendig, alle die z.B. in der /etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf unter AdminIdentities aufgeführt sind |
auth_admin_keep | Passwort eines Administrators ist notwendig, PolicyKit merkt sich das einige Sekunden |
# /etc/polkit-1/localauthority.conf.d/50-localauthority.conf [Configuration] AdminIdentities=unix-user:0
für alle Aktionen die einen Administrator vorbehalten sind "AdminIdentities" wird zur Eingabe das Passwort des "unix-user:0" (root) aufgefordert.
# /etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf [Configuration] AdminIdentities=unix-group:admin
die erste Regel aus der 50-localauthority.conf wird mit der 51-ubuntu-admin.conf überschrieben (unter Ubuntu), darin ist definiert, das die Gruppe admin zu den privilegierten Administratoren gehört.
# /etc/polkit-1/localauthority.conf.d/52-myadminuser.conf [Configuration] AdminIdentities=unix-group:admin;unix-user:user1
mit dieser Konfiguration kann die Gruppe admin und der Benutzer user1 Systemkonfigurationen vornehmen.
- Beispielkonfiguration, für einen Benutzer der unter Gnome die Uhr stellen darf.
# /etc/polkit-1/localauthority/50-local.d/20-clockset-policy.pkla [User der die Uhr stellen darf] Identity=unix-user:user1 Action=org.gnome.clockapplet.mechanism.settime ResultActive=yes ResultInactive=no ResultAny=no
[ Beschreibung ]
Identity=unix-user:|unix-group: - Benutzer oder Gruppe für den die PolicyKit Regeländerung gilt
Action= - Name der Aktion, (mögliche Aktionen Anzeigen pkaction --verbose) es sind auch Wildcards möglich z.B. org.gnome.clockapplet.mechanism.*
ResultActive= - Aktion, aus einer laufenden Sitzung
ResultInactive= - Aktion, aus einer inaktiven Sitzung
ResultAny= - Aktion, die aus aktiver oder inaktiver Sitzung stammen.
- Benutzer erlauben über pkexec SystemProgramme unter seiner Benutzerkennung laufen zu lassen
# /etc/polkit-1/localauthority/50-local.d/30-pkexec-policy.pkla [User darf mit pkexec SystemProgramme ausführen] Identity=unix-user:user1 Action=org.freedesktop.policykit.exec
ResultActive=yes ResultInactive=no ResultAny=no
jetzt kan der user1 mittels pkexec --user user1 /usr/bin/apt-get den Befehl apt-get ausführen.