PolicyKit

Installation

apt-get install policykit-1

Konfiguration

ermögliche dem angemeldeten Benutzer doedel das Starten/Stoppen von allen Diensten ohne Passwortabfrage

erstelle eine Datei /etc/polkit-1/localauthority/50-local.d/services.pkla

services.pkla
[handle all services for a user]
Identity=unix-user:doedel
Action=org.freedesktop.systemd1.manage-units
ResultAny=yes
ResultInactive=yes
ResultActive=yes
ermögliche dem angemeldeten Benutzer doedel nur das Starten/Stoppen vom RSYSLOG-Dienst ohne Passwortabfrage

erstelle eine Datei /usr/share/polkit-1/actions/org.freedesktop.systemd1.rsyslog.policy

org.freedesktop.systemd1.rsyslog.policy
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
 "http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
<policyconfig>
  <action id="org.freedesktop.systemd1.rsyslog">
    <description>Handle the rsyslogdaemon. this is /usr/share/polkit-1/actions/org.desktop.systemd1.rsyslog.policy</description>
    <message>Please create a /etc/polkit-1/localauthority/50-local.d/rsyslog.pkla</message>
    <vendor>Richard Borwinius / richard@borwinius.de</vendor>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/etc/init.d/rsyslog</annotate>
  </action>

erstelle dann eine Datei /etc/polkit-1/localauthority/50-local.d/rsyslog.pkla

rsyslog.pkla
[rsyslog service]
Identity=unix-user:doedel
Action=org.freedesktop.systemd1.rsyslog
ResultAny=yes
ResultInactive=yes
ResultActive=yes

teste dann als Benutzer Doedel:

pkexec /etc/init.d/rsyslog restart


Tips und Tricks

 pkaction
 pkaction --verbose
 pkexec myprog

Fehlermeldungen

"Authentication is required to set the network proxy used for downloading"

Meldung kommt wenn ein Remotebenutzer sich mit dem Rechner per RDP odr VNC verbindet.
erstelle die Datei /etc/polkit-1/localauthority/30-site.d/20-no-show-proxy-dialog.pkla mit dem Inhalt:

[No Show Proxy Dialog]
Identity=unix-user:*
Action=org.freedesktop.packagekit.system-network-proxy-configure
ResultAny=no
ResultInactive=no
ResultActive=no

Starte den Rechner neu.