Коротше кажучи, consolekit - це послуга, яка відстежує сеанси користувача (тобто там, де користувач увійшов). Це дозволяє перемикати користувачів без виходу (багато користувачів можуть входити на одне обладнання на одному пристрої одночасно з одним активним користувачем). Він також використовується для перевірки того, чи є сеанс "локальним", тобто чи користувач має прямий доступ до обладнання (що може вважатися більш безпечним, ніж віддалений доступ). Документація на ConsoleKit .
PolicyKit дозволяє точно налаштовувати можливості в робочому середовищі. Традиційно лише привілейований користувач (root) дозволяв конфігурувати мережу. Однак, хоча в серверному середовищі, є обґрунтованим припущенням, що це було б занадто обмежувальним, щоб не дозволяти, наприклад, підключатися до точки доступу на ноутбуці. Однак ви все ще не хочете надавати цій особі повних привілеїв (наприклад, встановлення програм) або можете обмежити можливості для деяких людей (наприклад, на ваших дитячих ноутбуках можна використовувати лише "довірені" мережі з батьківськими фільтрами). Наскільки я пам'ятаю, це працює так:
- Програма надсилає повідомлення демону через dbus про дію
- Daemon використовує бібліотеки / конфігурації PolicyKit (насправді демона PolicyKit), щоб визначити, чи дозволяється користувачеві виконувати дію. Може статися, що певні умови повинні бути виконані (наприклад, введення пароля або доступ до обладнання).
- Демон виконує дію відповідно до нього (повертає помилку auth або виконує дію)
Документація PolicyKit .
EDIT в даний час ConsoleKit значною мірою замінений logind , який є частиною systemd , хоча є окрема версія elogind .