Cosa sono ConsoleKit e PolicyKit? Come funzionano?


42

Ho visto che recenti GNU / Linux stanno usando ConsoleKit e PolicyKit. A cosa servono? Come funzionano?

La migliore risposta dovrebbe spiegare che tipo di problema ognuno cerca di risolvere e come riescono a risolverlo.

Sono un utente GNU / Linux di vecchia data, da quando non esistevano cose del genere. Ho usato Slackware e recentemente Gentoo. Sono un utente / amministratore / sviluppatore avanzato, quindi la risposta può (e dovrebbe!) Essere il più dettagliata e precisa possibile. Voglio capire come funzionano queste cose, così posso usarle (come utente o come sviluppatore) nel miglior modo possibile.

Risposte:


24

In breve, consolekit è un servizio che tiene traccia delle sessioni utente (ovvero dove un utente ha effettuato l'accesso). Permette di cambiare utente senza disconnettersi (molti utenti possono accedere allo stesso hardware contemporaneamente con un utente attivo). Viene anche utilizzato per verificare se una sessione è "locale", ovvero se un utente ha accesso diretto all'hardware (che può essere considerato più sicuro dell'accesso remoto). Documentazione di ConsoleKit .

PolicyKit consente funzionalità ottimizzate in un ambiente desktop. Tradizionalmente, solo un utente privilegiato (root) era autorizzato a configurare la rete. Tuttavia, mentre ci si trova in un ambiente server, è ragionevole supporre che sarebbe troppo limitante non consentire la connessione a un hotspot su un laptop, ad esempio. Tuttavia potresti non voler ancora dare pieni privilegi a questa persona (come l'installazione di programmi) o potresti voler limitare le opzioni per alcune persone (ad esempio sui laptop dei tuoi figli possono essere utilizzate solo reti "fidate" con filtri parentali). Per quanto ricordo, funziona come:

  • Il programma invia un messaggio al demone tramite dbus sull'azione
  • Daemon utilizza le librerie / configurazioni PolicyKit (in effetti il ​​demone PolicyKit) per determinare se un utente è autorizzato a eseguire un'azione. Può accadere che determinate condizioni debbano essere soddisfatte (come l'inserimento di password o accesso hardware).
  • Il demone esegue un'azione in base ad esso (restituisce un errore di autenticazione o esegue un'azione)

Documentazione su PolicyKit .

EDIT attualmente ConsoleKit è in gran parte sostituito da logind , che fa parte di systemd , sebbene esista una versione standalone elogind .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.