Настройка ограничений на возможности среды KDE посредством механизма Kiosk
11 сентября 2007 года
1. Задача
Требуется настроить рабочее место пользователя KDE в соответствии со следующими условиями:
разрешена работа с файлами только из домашнего каталога;
настройка всех остальных параметров рабочего стола (в том числе и изменение меню) запрещена;
меню KDE должно состоять из фиксированного минимального набора приложений и специального пункта для остальных установленных программ, куда попадают все вновь установленные программы.
2. Режим Kiosk
Графическая среда KDE предоставляет возможности по административному ограничению её возможностей и настройки параметров. Это стало возможно с появлением в KDE3 механизма Kiosk. Данный режим включен по умолчанию.
С помощью этого режима можно:
Использовать только заданные параметры, игнорируя изменения как в диалогах настройки, так и в конфигурационных файлах пользователя;
Скрыть от пользователей модули центра управления KDE;
Отключить переназначение ресурсов (например, значков) из домашнего каталога пользователя;
Запретить в приложениях KDE просмотр папок и открытие файлов, не удовлетворяющих заданным условиям (например, вне домашнего каталога пользователя);
Назначать разные профили группам или отдельным пользователям.
Для настройки можно использовать утилиту kiosktool или указать правила вручную.
3. Управление через kiosktool
установите пакет kiosktool:
apt-get install kiosktool
Запустите kiosktool (можно под обычным пользователем)
Нажмите кнопку «Добавить новый профиль». На этом этапе создаётся отдельный профиль, содержащий политики безопасности.
Имя профиля: user
Файлы в этом профиле принадлежат: root
Каталог для этого профиля: /etc/kde-profile/user
Нажмите на кнопку «Добавить». При этом появится запрос пароля пользователя root. Укажите пароль и нажмите OK.
Нажмите на кнопку «Назначенные профили». На этом этапе происходит назначение профилей отдельным пользователям и группам. Нажмите на кнопку «Добавить групповую политику» (назначение профиля группе) или «Добавить пользовательскую политику» (назначение профиля отдельному пользователю). Выберите группу (или пользователя и укажите присваиваемый профиль. Нажмите на OK и Готово.
Укажите необходимые правила для профиля, нажав на кнопку «Настроить профиль»
4. Как это работает
Профили хранятся в каталоге /etc/kde-profile/<имя_профиля> и представляют собой структуру и содержимое файлов с заданными параметрами (как в ~/.kde/)
Блокировка параметров ключом [$i] может быть следующих видов:
один параметр: someKey[$i]=value
группа: [MyGroup][$i]
весь файл: [$i] указывается в первой строке файла
Если параметр не указан как изменяемый (на уровне файла, группы или отдельного параметра, пользователь может изменять его как в диалоге настройки, так и вручную (при этом изменения самих программ будут произведены). Запрещённое для изменения действие будет исключено из меню и панели инструментов.
Также можно запретить изменение параметров, сделав файл недоступным на запись. Чтобы убрать предупреждение о невозможности их записи, добавьте в файл /etc/kde-profile/<имя_профиля>/share/config/kdeglobals (этот файл используется для всех ниже указанных вариантов):
Для блокирования отдельных действий, добавьте в файл /etc/kdeprofile/<имя_профиля>/share/config/kdeglobals строку (для примера запрещается создание папки в диалоге открытия/сохранения файла):
Можно отключить использование пользовательских ресурсов (пример запрещает использование фона рабочего стола из домашнего каталога пользователя
[KDE Resource Restrictions][$i] wallpaper=false
5. Нерешённые проблемы
Фон рабочего стола можно изменить через dcop. Для этого снимите биты выполнения для определённых групп для программ: dcop и kdcop.
Невозможно скрыть заблокированные параметры в пользовательских приложениях. Это неудобно для пользователя, так как параметры видны, но после их изменения, приложение не учитывает изменения.
6. Фиксированное меню
Для создания фиксированного меню с минимальным набором приложений создаётся файл /etc/kde/xdg/menus/applications-merged/junior.menu следующего содержимого: