Системный киоск 2 (user confinement)
Этот проект содержит юзерспейс-инструменты для обновлённого системного киоска (утилиты и профили). Сборка deb-пакета parsec-kiosk2*.deb
возможна на любой системе (например, на Орле).
При установке пакета в /etc/pam.d/common-session добавляется вызов pam_exec
для ppfsm: инструмента загрузки профилей в модуль ядра. Если в системе не установлен модуль parsec с поддержкой user confinement, ppfsm немедленно завершается с кодом возврата "успех", не совершая никаких действий.
Управление user confinement при установленном модуле ядра:
- включить ограничения на работу с файлами при нарушении установленных фильтров доступа:
echo 1 > /sys/module/parsec/parameters/uc_enforce
- включить протоколирование нарушений установленных фильтров доступа: echo 1 > /sys/module/parsec/parameters/uc_complain
Синтаксис профилей киоска
"Современный" / базовый
+file <r/w/c> <u/o>: <filename>
Разрешить чтение/запись/создание владельцу/невладельцу. В имени файла могут использоваться метасимволы, например:
+file ? u: ** (разрешить создание, запись, чтение владельцам файлов).
Вариант с чтением ссылки:
+link <r/w/c> <u/o>: <filename>
Имя файла должно соответствовать существующей символьной ссылке. Целевой файл для ссылки (который не обязан существовать в момент загрузки профиля) добавляется в список доступных. Метасимволы в имени файла (ссылки) не интерпретируются.
+link r o /lib/ld-linux.so.2
Совместимый с parsec-kiosk
"/file/name" rwx
/file/name rwx
"/file/name" r-x
/file/name -w-
Имя файла считается литералом (спецсимволы не интерпретируются), любое из прав r/x
преобразуется в r
, w
преобразуется в wc
, правило применяется и для доступа владельцев и для доступа невладельцев (uo).
Обязательно начало строки с кавычки или слэша.
Если файл представляет символьную ссылку, в вывод профиля попадает целевой файл ссылки.
Включение файла
other-profile-name
Вариант, совместимый со старым киоском. Имя обязано начинаться с латинской буквы, слэши в имени не допускаются.
@include other-profile-name
Новый вариант (включение в явной форме). Можно использовать абсолютные и относительные пути.