Что такое ConsoleKit и PolicyKit? Как они работают?

df(1) команда скажет Вам устройство, что файл или каталог идет:

df /work

Первое поле имеет устройство, что файл или каталог идет.

например.

$ df /root
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1              1043289    194300    795977  20% /

Если устройство будет логическим томом, то необходимо будет определить, какое блочное устройство (устройства) логический том идет. Для этого можно использовать lvs(8) команда:

# df /usr
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/orthanc-usr
                       8256952   4578000   3259524  59% /usr
# lvs -o +devices /dev/mapper/orthanc-usr
  LV   VG      Attr   LSize Origin Snap%  Move Log Copy%  Convert Devices     
  usr  orthanc -wi-ao 8.00g                                       /dev/sda3(0)

Последний столбец говорит Вам что логический том usr в группе объема orthanc (/dev/mapper/orthanc-usr) находится на устройстве /dev/sda3. Так как группа объема может охватить несколько физических томов, можно найти, что у Вас есть несколько перечисленных устройств.

Другой тип логического блочного устройства является md (Несколько Устройств, и используемый, чтобы быть названным метадиском I думают), устройство, такой как /dev/md2. Для рассмотрения компонентов md устройства можно использовать mdadm --detail или загляните /proc/mdstat

# df /srv
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/md2             956626436 199340344 757286092  21% /srv
# mdadm --detail /dev/md2
...details elided...
    Number   Major   Minor   RaidDevice State
       0       8        3        0      active sync   /dev/sda3
       1       8       19        1      active sync   /dev/sdb3

Вы видите это /dev/md2 идет /dev/sda3 и /dev/sdb3 устройства.

Существуют другие методы, что блочные устройства могут быть вложены (предохранитель, петлевые файловые системы), который будет иметь их собственные методы для определения базового блочного устройства, и можно даже вложить несколько слоев, таким образом, необходимо проложить себе путь вниз. Необходимо будет взять каждый случай, как это прибывает.

42
10.10.2019, 01:20
1 ответ

Короче говоря, consolekit является сервисом, который отслеживает сеансы пользователя (т.е. где пользователь зарегистрирован). Это позволяет переключать пользователей, не выходя из системы (многие, пользователь может быть зарегистрирован на тех же аппаратных средствах одновременно с одним активным пользователем). Это также используется, чтобы проверить, "локальна" ли сессия т.е. если у пользователя есть прямой доступ к аппаратным средствам (который можно считать более безопасным затем удаленный доступ). Документация ConsoleKit.

PolicyKit позволяет подстроенные возможности в настольной среде. Традиционно только привилегированному пользователю (корень) разрешили настроить сеть. Однако, в то время как в серверной среде это - разумное предположение, что это также ограничило бы, чтобы не быть позволенным соединиться с горячей точкой на ноутбуке, например. Однако Вы все еще не можете хотеть давать полные полномочия этому человеку (как установка программ) или можете хотеть ограничить опции для некоторых людей (например, на Ваших дочерних ноутбуках, только 'доверил' сетям родительские фильтры, может использоваться). Насколько я помню, что это работает как:

  • Программа отправляет сообщение демону через dbus о действии
  • Демон использует библиотеки/конфигурацию PolicyKit (на самом деле демон PolicyKit), чтобы определить, разрешают ли пользователю выполнить действие. Это может произойти, что определенные условия должны быть выполнены (как ввод пароля или аппаратного доступа).
  • Демон выполняет, действие согласно ему (возвращает подлинную ошибку или выполняет действие),

Документация PolicyKit.

РЕДАКТИРОВАНИЕ в настоящее время ConsoleKit в основном заменяется вошедшим, который является частью systemd, хотя существует автономная версия elogind.

24
27.01.2020, 19:35

Теги

Похожие вопросы