Co to są ConsoleKit i PolicyKit? Jak oni pracują?


42

Widziałem, że najnowsze GNU / Linux używają ConsoleKit i PolicyKit. Po co one są? Jak oni pracują?

Najlepsza odpowiedź powinna wyjaśniać, jaki problem każdy z nich próbuje rozwiązać i jak go rozwiązać.

Jestem wieloletnim użytkownikiem systemu GNU / Linux, od czasu, gdy takie rzeczy nie istniały. Używam Slackware, a ostatnio Gentoo. Jestem zaawansowanym użytkownikiem / administratorem / programistą, więc odpowiedź może (i powinna!) Być jak najbardziej szczegółowa i dokładna. Chcę zrozumieć, jak te rzeczy działają, więc mogę ich używać (jako użytkownik lub programista) w najlepszy możliwy sposób.

Odpowiedzi:


24

W skrócie, Consolekit to usługa, która śledzi sesje użytkownika (tj. Gdzie użytkownik jest zalogowany). Umożliwia przełączanie użytkowników bez wylogowania (wielu użytkowników może być zalogowanych na tym samym sprzęcie jednocześnie z jednym aktywnym użytkownikiem). Służy również do sprawdzania, czy sesja jest „lokalna”, tj. Czy użytkownik ma bezpośredni dostęp do sprzętu (który można uznać za bezpieczniejszy niż dostęp zdalny). Dokumentacja ConsoleKit .

PolicyKit umożliwia precyzyjne dostrojenie możliwości w środowisku komputerowym. Tradycyjnie tylko uprzywilejowany użytkownik (root) mógł konfigurować sieć. Jednak w środowisku serwerowym uzasadnione jest założenie, że byłoby zbyt ograniczające, aby nie pozwalać na przykład na połączenie z hotspotem na laptopie. Jednak nadal możesz nie chcieć nadawać tej osobie pełnych uprawnień (takich jak instalowanie programów) lub możesz ograniczyć opcje dla niektórych osób (na przykład w laptopach swoich dzieci można używać tylko „zaufanych” sieci z filtrami rodzicielskimi). O ile pamiętam, działa to tak:

  • Program wysyła wiadomość do demona przez dbus o akcji
  • Demon używa bibliotek / konfiguracji PolicyKit (w rzeczywistości demona PolicyKit), aby ustalić, czy użytkownik może wykonać akcję. Może się zdarzyć, że muszą zostać spełnione określone warunki (np. Wprowadzenie hasła lub dostępu sprzętowego).
  • Daemon wykonuje zgodnie z nim akcję (zwraca błąd autoryzacji lub wykonuje akcję)

Dokumentacja PolicyKit .

EDYCJA obecnie ConsoleKit jest w dużej mierze zastąpiony przez logind , który jest częścią systemd , chociaż istnieje samodzielna wersja elogind .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.