Kurz gesagt, consolekit ist ein Dienst, der Benutzersitzungen verfolgt (dh wo ein Benutzer angemeldet ist). Es ermöglicht das Wechseln von Benutzern, ohne sich abzumelden (viele Benutzer können gleichzeitig mit einem aktiven Benutzer auf derselben Hardware angemeldet sein). Es wird auch verwendet, um zu überprüfen, ob eine Sitzung "lokal" ist, dh ob ein Benutzer direkten Zugriff auf Hardware hat (die als sicherer als der Fernzugriff angesehen werden kann). ConsoleKit-Dokumentation .
PolicyKit ermöglicht die Feinabstimmung von Funktionen in einer Desktop-Umgebung. Bisher durfte nur ein privilegierter Benutzer (Root) das Netzwerk konfigurieren. In einer Serverumgebung ist es jedoch eine vernünftige Annahme, dass dies zu einschränkend ist, um beispielsweise keine Verbindung zu einem Hotspot auf einem Laptop herstellen zu dürfen. Möglicherweise möchten Sie dieser Person jedoch immer noch keine vollständigen Berechtigungen erteilen (z. B. Programme installieren) oder die Optionen für einige Personen einschränken (z. B. können auf Laptops Ihrer Kinder nur "vertrauenswürdige" Netzwerke mit Jugendschutzfiltern verwendet werden). Soweit ich mich erinnere, funktioniert es wie folgt:
- Programm sendet eine Nachricht an den Daemon über dbus über die Aktion
- Daemon verwendet PolicyKit-Bibliotheken / -Konfiguration (in der Tat PolicyKit-Daemon), um zu bestimmen, ob ein Benutzer eine Aktion ausführen darf. Es kann vorkommen, dass bestimmte Bedingungen erfüllt sein müssen (z. B. Passworteingabe oder Hardware-Zugriff).
- Daemon führt die entsprechende Aktion aus (gibt einen Authentifizierungsfehler zurück oder führt die Aktion aus)
PolicyKit-Dokumentation .
BEARBEITEN Derzeit wird das ConsoleKit weitgehend durch logind ersetzt , das Teil von systemd ist , obwohl es eine eigenständige elogind- Version gibt .