PolicyKit ist eine Technologie, um Authorization innerhalb von UNIX-Programmen systemweit zu zentralisieren.
Im Vergleich mit anderen Security-Technologien:
- PAM Pluggable Authentication Modules: bietet Authentication an. Polkit bekommt hingegen ein (hoffentlich authentifiziertes) Subject übergeben
- LSM Linux Security Modules: Erweitert den Kernel Space um externe Sicherheitsfeatures. Polkit arbeitet im User Space.
Beispiel für eine Policy, die das Starten des SSHd Systemd Service für einen bestimmten Nutzer erlaubt:
// /etc/polkit-1/rules.d/sshd-for-tim.rules
polkit.addRule(function(action, subject){
if (
action.id === "org.freedesktop.systemd1.manage-units" // run pkaction or see /usr/share/polkit-1/actions
&&
action.lookup("unit") === "sshd.service"
&&
action.lookup("verb") === "start" // ,stop or restart
&&
subject.user === "timtrense"
) {
return polkit.Result.YES;
}
});
Quelle: ArchWiki Polkit Article