Короче говоря, consolekit - это сервис, который отслеживает сеансы пользователя (то есть, когда пользователь вошел в систему). Это позволяет переключать пользователей без выхода из системы (многие пользователи могут войти в систему на одном и том же оборудовании одновременно с активным одним пользователем). Он также используется для проверки того, является ли сеанс «локальным», т. Е. Имеет ли пользователь прямой доступ к оборудованию (которое можно считать более безопасным, чем удаленный доступ). Документация ConsoleKit .
PolicyKit позволяет точно настраивать возможности в среде рабочего стола. Традиционно только привилегированный пользователь (root) мог настраивать сеть. Однако в то время как в серверной среде разумно предположить, что это будет слишком ограничением, чтобы, например, не было разрешено подключаться к точке доступа на ноутбуке. Однако вы, возможно, все же не захотите предоставлять полные привилегии этому человеку (например, устанавливать программы) или можете ограничить возможности некоторых людей (например, на ноутбуках ваших детей могут использоваться только «доверенные» сети с родительскими фильтрами). Насколько я помню, это работает так:
- Программа отправляет сообщение демону через dbus о действии
- Демон использует библиотеки / конфигурацию PolicyKit (фактически демона PolicyKit), чтобы определить, разрешено ли пользователю выполнять какое-либо действие. Может случиться так, что должны быть выполнены определенные условия (например, ввод пароля или доступ к оборудованию).
- Демон выполняет действие в соответствии с ним (возвращает ошибку аутентификации или выполняет действие)
Документация PolicyKit .
EDIT в настоящее время ConsoleKit в значительной степени заменен на logind , который является частью systemd , хотя существует отдельная версия elogind .