web-dev-qa-db-fra.com

Que sont ConsoleKit et PolicyKit? Comment travaillent-ils?

J'ai vu que les récents GNU/Linux utilisent ConsoleKit et PolicyKit. À quoi servent-ils? Comment travaillent-ils?

La meilleure réponse devrait expliquer quel type de problème chacun essaie de résoudre et comment ils réussissent à le résoudre.

Je suis un utilisateur de longue date GNU/Linux, d'une époque où de telles choses n'existaient pas. J'utilise Slackware et récemment gentoo. Je suis un utilisateur/administrateur/développeur avancé, de sorte que la réponse peut (et devrait!) Être aussi détaillée et aussi précise que possible. Je veux comprendre comment ces choses fonctionnent, je peux donc les utiliser (en tant qu'utilisateur ou en tant que développeur) de la meilleure façon possible.

43
Denilson Sá Maia

En bref, Consolekit est un service qui suit des sessions utilisateur (c'est-à-dire où un utilisateur est connecté). Il permet de changer d'utilisateur sans se déconnecter (de nombreux utilisateurs peuvent être connectés sur le même matériel simultanément avec un utilisateur actif). Il est également utilisé pour vérifier si une session est "locale", c'est-à-dire si un utilisateur a un accès direct au matériel (qui peut être considéré comme plus sécurisé puis l'accès à distance). Documentation Consolekit .

Policykit Permet des fonctionnalités réglées dans un environnement de bureau. Traditionnellement, seul un utilisateur privilégié (racine) a été autorisé à configurer le réseau. Cependant, dans un environnement de serveur, il s'agit d'une hypothèse raisonnable qu'elle serait trop limitée pour ne pas être autorisée à se connecter à un point d'accès sur ordinateur portable, par exemple. Cependant, vous ne voudrez peut-être pas toujours donner des privilèges complets à cette personne (comme l'installation de programmes) ou peut-être limiter des options pour certaines personnes (par exemple sur vos enfants ordinateurs portables que des réseaux "de confiance" avec des filtres parentaux peuvent être utilisés). Autant que je me souvienne, ça marche comme:

  • Programme Envoyer un message au démon via DBU sur l'action
  • Daemon utilise des bibliothèques/configurations de stratégiekit (en fait Policykit Daemon) pour déterminer si un utilisateur est autorisé à effectuer une action. Il peut arriver que certaines conditions soient remplies (comme la saisie de mot de passe ou d'accès matériel).
  • Daemon effectue une action en fonction d'elle (renvoie l'erreur d'autorisation ou effectue une action)

Documentation de stratégiekit .

[~ # ~] modifier [~ # ~] Actuellement, le consolekit est largement remplacé par LOGIND , qui fait partie de - SystemD , bien qu'il y ait une version autonome elogind .

25
Maciej Piechotka