Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
с установленным оперативным обновлением № 20190912SE16- Astra Linux Common Edition 2.12
Пакет parsec-kiosk2
Пакет parsec-kiosk2 содержит инструменты для ограничения возможностей, предоставляемых непривилегированным пользователям (т.н. user confinement) и представляет собой обновлённую версию пакета parsec-kiosk.
Пакет входит в состав оперативного обновления БЮЛЛЕТЕНЬ № 20190912SE16 (оперативное обновление 3) и устанавливается по умолчанию при установке этого или последующего обновления.
Установка пакета возможна на любой системе Astra Linux (в том числе на ОС Astra Linux Common Edition).
Загрузка профилей в модуль ядра
При установке пакета parsec-kiosk2 в PAM-стек (в файл /etc/pam.d/common-session) добавляется вызов pam_exec для инструмента ppfsm, обеспечивающего загрузку профилей в модуль ядра:
Если в системе не установлен модуль parsec с поддержкой user confinement, вызов ppfsm немедленно завершается с кодом возврата "успех", не совершая никаких действий.
Графический инструмент для управления профилями
Дополнительно при установке пакета parsec-kiosk2 устанавливается обновлённый графический инструмент для управления профилями fly-admin-kiosk. После установки этот инструмент доступен через систему графических меню:
Инструмент позволяет включать и отключать режим киоска:
- через графическое меню "Правка" - "Включить режим киоска"
- или кнопкой с изображением ключей в панели кнопок.
Кроме того, инструмент позволяет:
- Изменять содержимое файлов профилей (на снимке экрана приведено содержимое стандартного профиля fly-desktop, включающего стандартный профиль fly-unlock);
- Создавать и изменять профили пользователей, в том числе:
- Путём включения в профиль пользователя стандартных профилей (секция рабочего окна "Включить профиль");
- Путём генерации набора файлов из трассировки приложения:
- Системного (меню "Правка" - "Создать системный профиль для приложения");
- Выполняемого от имени пользователя (кнопка "Добавить файлы из") ;
- Путём копирования существующего (типового) профиля пользователя.
Создание профиля пользователя
Для создания профиля пользователя:
- Выбрать в левой часть окна приложения пункт "Профили пользователей" и выбрать в меню "Правка" - "Добавить" или нажать кнопку со знаком "+" в панели кнопок;
- В открывшемся окне ввести имя пользователя и нажать кнопку "да";
Добавление контролируемого файла к профилю пользователя
- Выбрать в левой часть окна приложения нужного пользователя (профиль пользователя должен быть ранее добавлен в приложение, см. предыдущий пункт);
- Выбрать в меню пункт "Правка" - "Вставить файл" или нажать кнопку "+" в панели кнопок;
- В открывшемся окне выбрать файл и нажать кнопку "Открыть";
- В появившейся записи параметров контроля файла выбрать нужные параметры;
- Выбрать пункт меню "Файл" - "Сохранить" или нажать кнопку с изображением дискеты в панели кнопок;
Включение системных профилей в профиль пользователя
Для включения системных профилей в профиль пользователя:
- Выбрать соответствующего пользователя в списке пользователей;
- Отметить нужные профили в нижнем правой части экрана приложения (часть "Включить профиль");
- Выбрать пункт меню "Файл" - "Сохранить" или нажать кнопку с изображением дискеты в панели кнопок;
Включение из командной строки ограничений пользователя при установленном модуле ядра
Включить контроль доступа и применять ограничения на работу с файлами при нарушении установленных фильтров доступа:
echo 1 > /sys/module/parsec/parameters/uc_enforce
Включить протоколирование нарушений установленных фильтров доступа:
echo 1 > /sys/module/parsec/parameters/uc_complain
Профили пакета parsec-kiosk2
Файлы с профилями parsec-kiosk2 располагаются в каталоге /etc/parsec/kiosk2-profiles/. При установке пакета в этот каталог устанавливается набор типовых профилей.
Синтаксис профилей киоска
"Современный" / базовый
Разрешить чтение/изменение/создание файловых объектов владельцу/не владельцу. В имени файла могут использоваться метасимволы, например:
Вариант с чтением ссылки:
Имя файла должно соответствовать существующей символьной ссылке. Целевой файл для ссылки (который не обязан существовать в момент загрузки профиля) добавляется в список доступных. Метасимволы в имени файла (ссылки) не интерпретируются.
Совместимый с parsec-kiosk
"/file/name" rwx
/file/name rwx
"/file/name" r-x
/file/name -w-
При этом:
- Имя файла считается литералом (спецсимволы не интерпретируются);
- Любое из прав
r/x
преобразуется вr
,w
преобразуется вwc;
- Правила применяется одинаково и для доступа владельцев и для доступа не владельцев (uo);
- Строка обязательно должна начинаться с символа кавычки или символа "слэш";
- Если файл представляет символьную ссылку, в вывод профиля попадает целевой файл ссылки.
Включение файла в профиль
Вариант, совместимый со старым киоском. Имя включаемого файла обязано начинаться с латинской буквы, символы "слэш" в имени не допускаются:
Если в файлах профилей для одного файла (и ссылок на этот файл) указаны разные разрешения, то они объединяются.
Например, для файла /tmp/test.txt и ссылки на него /tmp/link.txt
+link rw o: /tmp/link.txt
это то же самое, как если бы мы раскрыли символьную ссылку
+file rw o: /tmp/test.txt
а это, в свою очередь, то же самое, что одна строчка
(объединение r и rw даёт rw)