Наброски по polkitВ альтовой вики по polkit написано неверно:https://www.altlinux.org/Polkit auth_admin - пользователь должен ввести пароль root при каждом запросе разрешения
auth_admin_keep_session - пользователь должен ввести пароль root, разрешение предоставляется для всей сессии
auth_admin_keep_always - пользователь должен ввести пароль root, разрешение предоставляется для текущей и будущих сессий
Исправлено.
В polkit
auth_admin* != rootпотому что
# grep -rHi unix-group /etc/
/etc/polkit-1/rules.d/50-default.rules: return ["unix-group:wheel"];
# grep -v '^/' /etc/polkit-1/rules.d/50-default.rules
polkit.addAdminRule(function(action, subject) {
return ["unix-group:wheel"];
});
Администратор для polkit (AUTH_ADMIN*), это пользователь состоящий в группе wheel.
При auth_admin* авторизация будет пройдена при вводе своего пароля пользователя состоящего в группе wheel.
auth_self* - владелец сессии. Не администратор.
AUTH_ADMIN - авторизация всегда.
AUTH_ADMIN_KEEP - авторизация один раз за период в 5 минут.
Используемые действия (actions.id):
Файловая прописанная в fstab извлекаемого устройства usb-hdd с которого загружалась система - на загрузке системы файловая монтировалась пользователем root как прописанная в fstab, отмонтируется пользователем unix-group, т.е. состоящим в группе wheel:
$ udisksctl unmount -b /dev/sda3
==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-unmount-others ===
Для демонтирования TOSHIBA MK5065GSX (/dev/sda3), смонтированного другим пользователем, требуется подтверждение подлинности пользователя
Authenticating as: Я
Password:
==== AUTHENTICATION COMPLETE ===
Unmounted /dev/sda3.
Монтирование файловой CD-диска:
$ udisksctl mount -b /dev/sr0
==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount-other-seat ===
Для монтирования Optiarc DVD RW AD-7560A (/dev/sr0) требуется подтверждение подлинности пользователя
Монтирование usb-flash:
$ udisksctl mount -b /dev/sdc2
==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount-other-seat ===
Для монтирования Kingston DataTraveler 2.0 (/dev/sdc2) требуется подтверждение подлинности пользователя
Монтирование файловой стационарного (системного, неизвлекаемого) HDD:
$ udisksctl mount -b /dev/sdb2
==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount-system ===
Для монтирования SAMSUNG HM160HC (/dev/sdb2) требуется подтверждение подлинности пользователя
Монтирование файловой usb-hdd прописанной в fstab:
$ udisksctl mount -b /dev/sda3
==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount-other-seat ===
Для монтирования TOSHIBA MK5065GSX (/dev/sda3) требуется подтверждение подлинности пользователя
Authenticating as: Я
Password:
==== AUTHENTICATION COMPLETE ===
Mounted /dev/sda3 at /mnt/sdd3.
Размонтирование файловой системного HDD прописанной в fstab:
$ udisksctl unmount -b /dev/sdb2
==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-unmount-others ===
Для демонтирования SAMSUNG HM160HC (/dev/sdb2), смонтированного другим пользователем, требуется подтверждение подлинности пользователя
Authenticating as: Я
Password:
==== AUTHENTICATION COMPLETE ===
Unmounted /dev/sdb2.
Рулез в /etc/polkit-1/ отсутствует. Используется правило из /usr/share/polkit-1/ для udisks2:
/usr/share/polkit-1/actions/org.freedesktop.udisks2.policy
<action id="org.freedesktop.udisks2.filesystem-unmount-others">
<description>Unmount a device mounted by another user</description>
<description xml:lang="ru">Демонтировать устройство, смонтированное другим пользователем</description>
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
</action>
Поскольку в альтах CK сломан, несмотря на,
$ ck-list-sessions | grep 'Sess\|act'
Session1:
active = TRUE
используется,
<allow_inactive>auth_admin</allow_inactive>
пароль auth_admin запрашивается всегда, а разрешение с запросом на период в 5 мин не работает:
<allow_active>auth_admin_keep</allow_active>
Системные и извлекаемые устройства:
http://udisks.freedesktop.org/docs/latest/udisks-polkit-actions.html
Often there will be two polkit actions for one operation - one for so-called “system devices” and one for non-system devices. In this context “system device” refers to the value of the Block:HintSystem D-Bus property and is normally only TRUE for devices not considered “removable” (devices considered removable include USB attached storage, Flash media and optical drives). See udisks(8) for how to control if a device is considered a system device.
Системные устройства: устройства завязанные на D-Bus с TRUE, не съёмные (извлекаемые). mount-system
Извлекаемые (съёмные) устройства: USB-подключаемые накопители, Flash Media и оптические приводы. mount-other-seat
polkit обрабатывает рулезы *.rules в алфавином порядке в соответствии с ascii-таблицей:
http://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
AUTHORIZATION RULES
polkitd reads .rules files from the /etc/polkit-1/rules.d and /usr/share/polkit-1/rules.d directories by sorting the files in lexical order based on the basename on each file (if there's a tie, files in /etc are processed before files in /usr).
сортируя файлы в лексическом порядке основываясь на базовом имени каждого файла
(Вот-эт-то-блин-завернул-так-завернул! А техническим, а не гуманитарным языком, вот это же можно повторить?)Файловые системы прописанные в fstab в левом окне thunar не отображаются.