Настройка ограничений на возможности среды KDE посредством механизма Kiosk
11 сентября 2007 года
Задача
Требуется настроить рабочее место пользователя KDE в соответствии со следующими условиями:
- разрешена работа с файлами только из домашнего каталога;
- настройка всех остальных параметров рабочего стола (в том числе и изменение меню) запрещена;
- меню KDE должно состоять из фиксированного минимального набора приложений и специального пункта для остальных установленных программ, куда попадают все вновь установленные программы.
Режим Kiosk
Графическая среда KDE предоставляет возможности по административному ограничению её возможностей и настройки параметров. Это стало возможно с появлением в KDE3 механизма Kiosk. Данный режим включен по умолчанию.
С помощью этого режима можно:
- Использование только заданных параметров, игнорируя изменения как в диалогах настройки, так и в конфигурационных файлах пользователя;
- Скрыть от пользователей модули центра управления KDE;
- Отключить переназначение ресурсов (например, значков) из домашнего каталога пользователя;
- Запретить в приложениях KDE просмотр папок и открытие файлов, не удовлетворяющих заданным условиям (например, вне домашнего каталога пользователя);
- Назначать разные профили группам или отдельным пользователям.
Для настройки можно использовать утилиту kiosktool или указать правила вручную.
Управление через kiosktool
- установите пакет kiosktool:
apt-get install kiosktool
- Запустите kiosktool (можно под обычным пользователем)
- Нажмите кнопку «Добавить новый профиль». На этом этапе создаётся отдельный профиль, содержащий политики безопасности.
- Имя профиля: user
- Файлы в этом профиле принадлежат: root
- Каталог для этого профиля: /etc/kde-profile/user
- Нажмите на кнопку «Добавить». При этом появится запрос пароля пользователя root. Укажите пароль и нажмите OK.
- Нажмите на кнопку «Назначенные профили». На этом этапе происходит назначение профилей отдельным пользователям и группам. Нажмите на кнопку «Добавить групповую политику» (назначение профиля группе) или «Добавить пользовательскую политику» (назначение профиля отдельному пользователю). Выберите группу (или пользователя и укажите присваиваемый профиль. Нажмите на OK и Готово.
- Укажите необходимые правила для профиля, нажав на кнопку «Настроить профиль»
Как это работает
- Профили хранятся в каталоге /etc/kde-profile/<имя_профиля> и представляют собой структуру и содержимое файлов с заданными параметрами (как в /.kde/)
- Блокировка параметров ключом [$i] может быть следующих видов:
- один параметр: someKey[$i]=value
- группа: [MyGroup][$i]
- весь файл: [$i] указывается в первой строке файла
Если параметр не указан как изменяемый (на уровне файла, группы или отдельного параметра, пользователь может изменять его как в диалоге настройки, так и вручную (при этом изменения самих программ будут произведены). Запрещённое для изменения действие будет исключено из меню и панели инструментов.
Также можно запретить изменение параметров, сделав файл недоступным на запись. Чтобы убрать предупреждение о невозможности их записи, добавьте в файл /etc/kde-profile/<имя_профиля>/share/config/kdeglobals (этот файл используется для всех ниже указанных вариантов):
[KDE Action Restrictions]
warn_unwritable_config=false
- Для блокирования отдельных действий, добавьте в файл /etc/kdeprofile/<имя_профиля>/share/config/kdeglobals строку (для примера запрещается создание папки в диалоге открытия/сохранения файла):
action/<действие>=false
- Список действий можно получить командой:
dcop <dcopid> qt objects | grep KActionCollection/ | cut -d '/' -f 3
или
dcop <dcopid> <maindwindowid> actions
- Можно отключить модули управления из Центра управления KDE (на примере запрещения изменения фона рабочего стола):
[KDE Control Module Restrictions]
kde-background.desktop=false
- Можно отключить определённые пути (в том числе сетевые) (пример разрешает открывать только файлы из домашнего каталога пользователя):
[KDE URL Restrictions][$i]
rule_1=list,,,,file,,,false
rule_2=list,,,,file,,$HOME,true
- Можно отключить использование пользовательских ресурсов (пример запрещает использование фона рабочего стола из домашнего каталога пользователя
[KDE Resource Restrictions][$i]
wallpaper=false
Нерешённые проблемы
- Фон рабочего стола можно изменить через dcop. Для этого снимите биты выполнения для определённых групп для программ: dcop и kdcop.
- Невозможно скрыть заблокированные параметры в пользовательских приложениях. Это неудобно для пользователя, так как параметры видны, но после их изменения, приложение не учитывает изменения.
Фиксированное меню
Для создания фиксированного меню с минимальным набором приложений создаётся файл /etc/kde/xdg/menus/applications-merged/junior.menu следующего содержимого: