Данная заметка является переводом (с незначительными изменениями) официальной документации KDE — Kiosk — Simple configuration management for large deployment.
Фреймворк Kiosk предоставляет набор функций, позволяющих легко и эффективно ограничивать функции среды KDE на основе учетных данных пользователей и групп. В дополнение к вводному обзору, в этой статье рассматривается блокировка настроек конфигурации, ограничения действий и ресурсов, назначение профилей пользователям и группам и многое другое.
Введение в Kiosk
KDE Kiosk — это фреймворк, который был встроен в KDE начиная с версии 3. Он позволяет администраторам создавать контролируемую среду для своих пользователей, настраивая и блокируя практически любой аспект рабочего стола, включая безвредные, такие как установка и закрепление фоновых обоев, функциональные, такие как отключение выхода пользователей из системы и доступа к системе печати, и более серьезные с точки зрения безопасности, такие как отключение доступа к командной оболочке.
Такая структура жизненно необходима для поддержки и расширения распространения KDE в таких областях, как бизнес и корпоративная среда, школьные и университетские лаборатории. Другими очевидными областями, где требуется или желательна ограниченная среда рабочего стола, являются интернет-кафе, терминалы общественного доступа и киоски.
Фреймворк KDE Kiosk управляется с помощью записей в различных конфигурационных файлах. В этой статье — о расположении конфигурационных файлов KDE и о том, как их редактировать, чтобы включить возможности Kiosk. Также — о различных параметрах окружения рабочего стола, которые можно настроить и/или заблокировать с помощью фреймворка Kiosk.
Структура и иерархия файлов настроек KDE
Все приложения KDE используют один и тот же API для создания, доступа и изменения своих файлов конфигурации. Поэтому все файлы конфигурации хранятся в заранее определенных каталогах и имеют одинаковый синтаксис и структуру. Они организованы в виде групп пар ключ-значение. Например, давайте рассмотрим некоторые настройки поведения мыши и стиля рабочего стола, хранящиеся в ~/.config/kdeglobals:
[KDE]
SingleClick=true
DoubleClickInterval=400
widgetStyle=breeze
Группа KDE, как показано на рисунке, содержит две пары ключ-значение для указания некоторых глобальных настроек рабочего стола, таких как поведение мыши (активация одним щелчком против двойного щелчка) и стиль виджета используемых приложений. Начало группы обозначается помещением ее названия в квадратные скобки, а заканчивается группа, когда начинается следующая или когда достигается конец конфигурационного файла. И ключ, и его значение могут содержать пробелы, но все пробелы непосредственно до и после знака равенства и в конце строки игнорируются.
Файлы конфигурации KDE могут храниться в нескольких каталогах, и файлы конфигурации с одинаковыми именами могут присутствовать в разных каталогах. Существует заранее определенный порядок, в котором эти места проверяются на наличие конфигурационных файлов, и KDE объединяет одноименные конфигурационные файлы по ключу; это известно как «каскадная конфигурация». Если один и тот же ключ определен в нескольких конфигурационных файлах, то будет использовано значение ключа, считанное из дерева каталогов с наивысшим приоритетом.
Некоторые переменные окружения используются для указания каталогов, в которых следует искать файлы конфигурации1: $XDG_CONFIG_DIRS — переменная окружения для всех рабочих столов, используемая для глобального поиска файлов конфигурации в системе. $XDG_CONFIG_HOME2 определяет каталог, в котором должны храниться конфигурации для конкретного пользователя.
Каскадная природа конфигурационных файлов KDE позволяет системным администраторам устанавливать общесистемные значения по умолчанию, гарантируя при этом, что пользовательские настройки конфигурации всегда будут переопределять эти системные значения по умолчанию. Это также является основой фреймворка Kiosk, поскольку записи конфигурации могут быть помечены как «неизменяемые» — записи в пользовательском конфигурационном файле в $XDG_CONFIG_HOME, которые были помечены как неизменяемые в каталоге системного уровня, не будут прочитаны и, следовательно, не будут иметь никакого эффекта.
Продолжим пример со стилями виджетов приложений и, как системные администраторы интернет-кафе, мы хотим убедиться, что стиль виджетов по умолчанию — это стиль «Breeze» и не может быть изменен клиентами, чтобы обеспечить визуальную целостность брендинга между машинами в магазине. В одном из деревьев каталогов системного уровня ($XDG_CONFIG_DIRS) мы отредактируем файл $XDG_CONFIG_DIRS/kdeglobals так, чтобы он содержал:
[KDE]
SingleClick=true
DoubleClickInterval=400
widgetStyle[$i]=breeze
Добавление [$i] к ключу конфигурации отмечает его как неизменяемый (immutable). Поскольку конфигурационные файлы из $XDG_CONFIG_DIRS считываются раньше, чем $XDG_CONFIG_HOME, стиль теперь «заблокирован», и любые пользовательские настройки, сделанные пользователем в нем, напрямую или через диалог настройки, не будут прочитаны системой конфигурации.
Параметры конфигурации также могут быть помечены как неизменяемые по группам и по файлам. Чтобы пометить группу как неизменяемую, мы добавляем [$i] к имени группы:
[KDE][$i]
SingleClick=true
DoubleClickInterval=400
widgetStyle=breeze
Аналогично, мы можем пометить весь файл конфигурации как неизменяемый, поместив [$i] в отдельную строку в начале файла; теперь система будет игнорировать одноименный файл конфигурации в пользовательском каталоге конфигурации KDE.
Заметьте: бывает необходимо группу параметров конфигурации определить как неизменяемую на системном уровне, но при этом оставить возможность установки дополнительных ограничений на уровне пользователя. В этом случае нужно использовать не [$i], а [$ie] (или [$ei]) — неизменяемый расширяемый (immutable and expandable).
Установить параметры конфигурации по умолчанию для приложений KDE так же просто, как и исправить фон рабочего стола. Мы можем заблокировать настройки Dolphin, чтобы всегда показывать индикатор свободного места в его панели состояния, указав следующее в файле под названием dolphinrc в одном из деревьев системного каталога:
[General]
ShowSpaceInfo[$i]=true
Любой параметр, который можно изменить или настроить в приложении, можно заблокировать с помощью фреймворка Kiosk. Чтобы получить представление о настройках конфигурации приложений KDE, изучите содержимое различных конфигурационных файлов.
Также следует помнить, что для вступления в силу настроек конфигурации большинство приложений необходимо перезапустить. Для того чтобы применить изменения в конфигурационных файлах, таких как kdeglobals, необходимо выйти из сеанса Plasma и снова войти в него.
Информация, представленная в этом разделе, позволит вам установить системные настройки по умолчанию и заблокировать их при необходимости для любого приложения KDE. Однако это лишь вершина айсберга системы KDE Kiosk, и в следующих разделах мы расскажем о многих других ее возможностях.
Порядок загрузки файлов следующий:
~/.config/myAppConfigrc
(например, dolphinrc)/etc/xdg/myAppConfigrc
(например, dolphinrc)~/.config/kdeglobals
/etc/xdg/kdeglobals
~/.config/system.kdeglobals
/etc/xdg/system.kdeglobals
/etc/kde5rc
Ограничения действий в KDE
Многие действия в приложениях KDE и Plasma могут быть ограничены с помощью системы Kiosk путем размещения соответствующих записей в файле в каталоге системного уровня, например, /etc/xdg/kdeglobals. Мы можем запретить действие открытия файла, добавив следующую запись:
[KDE Action Restrictions][$i]
action/file_open=false
Это изменение можно увидеть в меню «Файл» и панели инструментов Kate, которая теперь не может изменить настройки.
Действия, которые могут быть ограничены, включают все стандартные файловые операции, операции редактирования, действия по просмотру Интернета и файлов, использование закладок и доступ к справочной системе. Полный список можно найти в разделе Ключи.
Еще несколько действий, заслуживающих отдельного упоминания в контексте корпоративной и подобной среды, таковы:
- shell_access: Может ли пользователь запускать оболочку для ввода команд, можно ли использовать опцию «Run Command» (Alt-F2) для запуска команд оболочки и произвольных исполняемых файлов, а также будут ли выполняться исполняемые файлы, помещенные в папку автозапуска пользователя.
- logout: Определяет, сможет ли пользователь завершать сеанс KDE Plasma.
- lock_screen: Может ли пользователь блокировать экран.
- run_command: Доступ к опции «Выполнить команду» (KRunner).
- movable_toolbars: Можно ли отсоединять и/или перемещать панели инструментов.
- action/options_show_toolbar: Можно ли скрывать панели инструментов.
- plasma/plasmashell/unlockedDesktop: Может ли пользователь разблокировать виджеты. Разблокировка виджетов позволит пользователю перемещать, добавлять и удалять виджеты, панели, панели запуска и т. д.
В публичной среде установите для действия lineedit_text_completion значение false, чтобы текстовые поля и диалог «Выполнить команду» не запоминали ранее введенную информацию. Обратите внимание, что это не повлияет на веб-браузеры сторонних производителей, такие как Firefox.
Ограничения URL в KDE
Система KDE Kiosk позволяет системным администраторам контролировать доступ к определенным URL-адресам на основе реферера, протокола, хоста и пути через записи в файле. Хотя некоторые из этих задач могут быть более подходящими для прокси-сервера или брандмауэра, эта функциональность становится невероятно полезной, если учесть тот факт, что KDE рассматривает все местоположения как URL. Для блокировки доступа к веб-сайтам можно использовать следующий пример:
Обратите внимание, что это касается только приложений KDE, таких как Dolphin или Konqueror. Другие браузеры настройка не затрагивает.
[KDE URL Restrictions][$i]
rule_count=2
rule_1=open,,,,http,*.hotmail.msn.com,,false
rule_2=open,,,,http!,webmail.college.com,,false
Первое правило блокирует весь http и https доступ к любому URL, содержащему .hotmail.msn.com в части host. Указание одного протокола также будет соответствовать аналогичным протоколам, начинающимся с того же имени; поэтому указание http также будет включать https. Правило 2 блокирует только http и, таким образом, заставляет пользователя использовать https (при условии, что он поддерживается). Приведенные выше правила могут быть использованы в качестве основы, например, для блокирования всего доступа к веб-клиентам электронной почты третьих сторон и принуждения пользователей использовать проверенную на вирусы учетную запись электронной почты компании или колледжа через https. Если, например, интернет-кафе спонсируется поисковой системой, то его системные администраторы могут использовать аналогичные правила для блокирования доступа к конкурентам этой поисковой системы.
Формат для ограничений URL следующий:
rule_N=<action>,<referrer protocol>,<referrer host>,<referrer path>, <protocol>,<host>,<path>,<enabled>
Любой параметр, оставленный пустым, будет соответствовать по умолчанию любым значениям (all). Как мы видели в примере выше, для имен хостов можно использовать подстановочные знаки. Указание пути приведет к совпадению всех URL-адресов, начинающихся с этого пути, если в конце пути не стоит восклицательный знак.
Как я уже говорил, KDE рассматривает все местоположения как URL: например, интернет-адреса — это URL с протоколом http или https, а локальные файлы на жестком диске — это URL с протоколом file. Доступ к локальной файловой системе может быть ограничен с помощью подобных правил:
[KDE URL Restrictions][$i]
rule_count=6
rule_1=open,,,,file,,,false
rule_2=list,,,,file,,,false
rule_3=open,,,,file,,$HOME,true
rule_4=list,,,,file,,$HOME,true
rule_5=open,,,,file,,$TMP,true
rule_6=list,,,,file,,$TMP,true
Эти правила позволят пользователю просматривать и получать доступ только к файлам, хранящимся в его домашнем каталоге. Мы также разрешаем доступ к временному каталогу, используемому KDE для обеспечения нормальной работы. Если вы применяете политику безопасности, то эти правила должны использоваться в сочетании с другими правилами, такими как ограничение доступа к shell.
Ограничения панели управления KDE
Почти все параметры Plasma могут быть сконфигурированы и настроены через «Системные настройки». Каждая «группа» настроек, таких как «Экраны», «Цвета», «Шрифты» и т.д., соответствует модулю системных настроек, и каждый из этих модулей может быть заблокирован с помощью фреймворка Kiosk.
Например, чтобы запретить пользователям изменять настройки мыши, можно заблокировать этот модуль системных настроек. Для этого добавьте следующий текст в глобальный файл kde5rc в указанной выше иерархии.
[KDE Control Module Restrictions][$i]
mouse.desktop=false
Теперь пользователи даже не увидят параметры мыши в настройках системы.
Выполните команду kcmshell5 —list для получения списка доступных модулей и используйте в файле конфигурации формат .desktop. В большинстве случаев в условиях общественного доступа/кафе, вероятно, потребуется заблокировать почти все модули центра управления.
Заключительные замечания
Фреймворк Kiosk в KDE является необходимым инструментом для любого системного администратора, который поддерживает или развертывает Plasma в многопользовательской среде или ситуации, когда пользователям нельзя доверять. Не позволяя пользователям изменять настройки по умолчанию и блокируя настройки, которые могут представлять угрозу безопасности, системный администратор может значительно сократить количество времени, которое будет потрачено на «обслуживание и ремонт» каждого рабочего стола, а также обеспечить всем пользователям привычную и знакомую среду рабочего стола каждый раз, когда они садятся за компьютер.
Ключи режима Киоск
В этом разделе содержится список известных ключей, которые можно использовать в Kiosk, и то, что они делают. Как использовать эти ключи и другие возможности Kiosk, такие как ограничения URL, создание назначаемых профилей и т.д., рассказывается в разделе Введение в Kiosk.
В какой файл конфигурации поместить эти записи, зависит от того, хотите ли вы сделать их глобальными для всех приложений или специфичными для одного приложения. Чтобы ограничения действовали для всех приложений, поместите их в kdeglobals. Чтобы включить ограничение для определенных приложений, поместите их в конфигурацию конкретного приложения, например, konquerorrc для Konqueror.
Ограничения действия приложений
Эти клавиши отключают действия, которые обычно встречаются в приложениях KDE. Чтобы использовать эти действия, создайте раздел в kdeglobals, который выглядит следующим образом:
[KDE Action Restrictions][$i]
action/<key>=false
Ключ | Меню | Действие |
---|---|---|
action/file_new | Файл | Новый |
action/file_open | Файл | Открыть |
action/file_open_recent | Файл | Открыть последний файл |
action/file_save | Файл | Сохранить |
action/file_save_as | Файл | Сохранить как |
action/file_revert | Файл | Вернуть |
action/file_close | Файл | Закрыть |
action/file_print | Файл | Напечатать |
action/file_print_preview | Файл | Просмотр печати |
action/file_mail | Файл | Отправить по Email |
action/file_quit | Файл | Завершить |
action/edit_undo | Правка | Отменить |
action/edit_redo | Правка | Повторить |
action/edit_cut | Правка | Вырезать |
action/edit_copy | Правка | Скопировать |
action/edit_paste | Правка | Вставить |
action/edit_select_all | Правка | Выбрать все |
action/edit_deselect | Правка | Отменить выбор |
action/edit_find | Правка | Найти |
action/edit_find_next | Правка | Найти следующее |
action/edit_find_last | Правка | Найти последнее |
action/edit_replace | Правка | Заменить |
action/view_actual_size | Вид | 100% масштаб |
action/view_fit_to_page | Вид | По размеру страницы (масштаб) |
action/view_fit_to_width | Вид | По ширине (масштаб) |
action/view_fit_to_height | Вид | По высоте (масштаб) |
action/view_zoom_in | Вид | Увеличить |
action/view_zoom_out | Вид | Уменьшить |
action/view_zoom | Вид | Масштаб |
action/view_redisplay | Вид | Обновить |
action/go_up | Переход | Вверх |
action/go_back | Переход | Назад |
action/go_forward | Переход | Вперед |
action/go_home | Переход | В начало |
action/go_previous | Переход | Предыдущий |
action/go_next | Переход | Следующий |
action/go_goto | Переход | Перейти к… |
action/go_goto_page | Переход | Перейти на страницу… |
action/go_goto_line | Переход | Перейти к строке… |
action/go_first | Переход | Перейти к началу |
action/go_last | Переход | Перейти к концу |
action/bookmarks | Закладки | Также отключает action/bookmark_add иaction/bookmark_edit |
action/bookmark_add | Закладки | Добавить закладку |
action/bookmark_edit | Закладки | Редактировать закладки |
action/tools_spelling | Сервис | Проверить орфографию |
action/options_show_menubar | Настройка | Показать/скрыть строку меню |
action/options_show_toolbar | Настройка | Показать/скрыть панель инструментов, также отключает подменю «Панели инструментов», если оно есть |
action/options_show_statusbar | Настройка | Показать/скрыть строку состояния |
action/options_save_Settings | Настройка | Сохранить настройки |
action/options_configure | Настройка | Настроить приложение |
action/options_configure_keybinding | Настройка | Комбинации клавиш |
action/options_configure_toolbars | Настройка | Панели инструментов |
action/options_configure_notifications | Настройка | Настроить уведомления |
action/fullscreen | Настройка | В полноэкранный режим |
action/help | Справка | Еще не полностью реализовано |
action/help_contents | Справка | Справка приложения |
action/help_whats_this | Справка | Режим «что это?» |
action/help_report_bug | Справка | Сообщить об ошибке |
action/help_about_app | Справка | Окно «О приложении» |
action/help_about_kde | Справка | Окно «О KDE» |
KCalc
Если пометить конфигурационный файл kcalcrc как неизменяемый, кнопка «Configure» не будет отображаться.
Файловый менеджер
Ключ | Действие |
---|---|
action/editfiletype | Изменить связанные приложения |
action/properties | Свойства файла |
action/openwith | Открыть файл с помощью |
action/openintab | Открыть ссылку в новой вкладке |
action/kdesktop_rmb | Меню ПКМ, см примечание |
action/iconview_preview | Показывать эскизы предварительного просмотра в значках, хотя фактическая настройка остается нетронутой. Чтобы отключить предварительный просмотр (в отличие от простого запрета пользователю изменять настройки), вам также необходимо добавить следующие строки в konqiconviewrc:[Settings] |
acton/sharefile | Отключает общий доступ к файлам из пользовательского интерфейса, но вы также можете полностью отключить общий доступ к файлам. |
action/sendURL | Отправить адрес ссылки |
action/sendPage | Отправить файл |
action/devnew | Create New -> Device |
action/incIconSize | Увеличить размер значка |
action/decIconSize | Уменьшить размер значка |
action/go | Все меню Переход |
action/configdesktop | Настроить рабочий стол в меню ПКМ, см. также Ограничения панели управления |
action/executeshellcommand | В меню инструментов Konqueror см. также shell_access |
action/show_dot | Отключает параметр отображения скрытых файлов, фактическая настройка остается неизменной. Чтобы отключить отображение скрытых файлов, добавьте следующие строки в konqiconviewrc:[Settings] |
Konsole
Эти ключи могут использоваться в kdeglobals, konsolepartrc или konsolerc.
Ключ | Действие |
---|---|
action/konsole_rmb | Контекстное меню |
action/settings | Отключить все меню настроек |
action/show_menubar | Показать/скрыть строку меню |
action/show_toolbar | Показать/скрыть панель инструментов |
action/scrollbar | Показать/скрыть полосу прокрутки |
action/bell | Настроить действия «звонка» |
action/font | Настроить шрифт |
action/keyboard | Установить тип клавиатуры |
action/schema | Выбрать схему для использования |
action/size | Установить размер терминала |
action/history | Настроить историю |
action/save_default | Сохранить настройки по умолчанию |
action/save_sessions_profile | Сохранить профиль сеансов |
action/send_signal | Отправить сигнал на текущий терминал |
action/bookmarks | Меню закладок |
action/add_bookmark | Добавить закладку |
action/edit_bookmarks | Изменить закладки |
action/clear_terminal | Очистить текущий терминал |
action/reset_clear_terminal | Очистить и сбросить текущий терминал |
action/find_history | Найти в истории |
action/find_next | Найти следующий элемент в истории |
action/find_previous | Найти предыдущий элемент в истории |
action/save_history | Сохранить историю на диск |
action/clear_history | Очистить историю текущего терминала |
action/clear_all_histories | Очистить историю всех терминалов |
action/detach_session | Отсоединить текущую вкладку |
action/rename_session | Переименовать текущий сеанс |
action/zmodem_upload | Выгрузить ZModem |
action/monitor_activity | Следить за активностью текущего терминала |
action/monitor_silence | Следить за отсутствием активности текущего терминала |
action/send_input_to_all_sessions | Дублировать ввод во все сеансы |
action/close_session | Закрыть текущий сеанс терминала |
action/new_session | Создать новую терминальную сессию |
action/activate_menu | Активировать строку меню |
action/list_sessions | Меню списка сессий |
action/move_session_left | Сдвиг вкладки влево |
action/move_session_right | Сдвиг вкладки вправо |
action/previous_session | Перейти на вкладку слева |
action/next_session | Перейти на вкладку справа |
action/switch_to_session_# | Перейдите на вкладку с номером #, где # — число от 1 до 12 включительно. |
action/bigger_font | Увеличить размер шрифта |
action/smaller_font | Уменьшить размер шрифта |
action/toggle_bidi | Включить/отключить поддержку двунаправленного текста |
KWin
Ключ | Действие |
---|---|
action/kwin_rmb | Контекстные меню в заголовке и рамке окна |
Plasma
Блокировка всей конфигурации с помощью [$i] приведет к тому, что всё будет неизменяемым. Блокировка группы (Containments) сделает эту группу виджетов неизменяемой, а блокировка самого виджета приведет к тому, что он не будет перемещаться, как и другие заблокированные виджеты.
Кроме того, доступны следующие ограничения ресурсов:
plasma/allow_configure_when_locked (начиная с Plasma 4.4): Можно ли настраивать виджеты и контейнеры при установке неизменяемости/блокировки. По умолчанию установлено значение true для удобства пользователей.
plasma/containment_actions (начиная с KDE Frameworks 5.49): Разрешать или нет Plasma действия мыши на рабочем столе и панелях (прежде всего, контекстные меню, а также колесико мыши для переключения виртуальных рабочих столов и т.д.).
plasma/plasmashell/unlockedDesktop (начиная с Plasma 5.0): Разрешать ли разблокировку виджетов в Plasma; если false, то действуют следующие ограничения:
- Виджеты не могут быть разблокированы
- Избранное и приложения в кнопках запуска приложений нельзя добавлять, удалять, переставлять или иным образом изменять (начиная с Plasma 5.7)
- Кнопки запуска приложений в диспетчере задач нельзя добавлять или удалять (начиная с Plasma 5.8)
plasma-desktop/scripting_console (начиная с Plasma 4.4): Доступна ли консоль сценариев рабочего стола Plasma или нет.
plasma-desktop/add_activities (>= 4.7.1): Может ли пользователь добавлять новые действия или нет.
Другое
Plasma предлагает загрузить новые виджеты, обои, скрипты и другие сторонние дополнения из KDE Store, используя фреймворк KNewStuff (он же «Get Hot New Stuff»). Кнопки обычно имеют надпись «Get New…» со значком «звездочки». Если эта функция нежелательна, ее можно отключить с помощью следующего ключа:
ghns (начиная с KDE Frameworks 5.27): Можно ли получить доступ к диалоговому окну загрузки Get Hot New Stuff
Авторизация
Файлы приложений .desktop могут иметь дополнительное поле X-KDE-AuthorizeAction.
Если это поле присутствует, файл .desktop считается разрешенным, только если действие (действия), указанное в этом поле, было выполнено. Если перечислено несколько действий, они должны быть разделены запятыми (‘,’).
Если в файле .desktop приложения таким образом перечислены одно или несколько действий, а у пользователя нет прав хотя бы на одно из них, то приложение не появится в меню KDE, не будет разрешено его выполнение через этот файл .desktop и не будет использоваться KDE для открытия файлов соответствующих mime-типов. Например,
[KDE Action Restrictions][$i]
user/root=false
скроет из меню приложения, у которых поле заполнено следующим образом:
X-KDE-AuthorizeAction = user/root
Диалог Файл {#file_dialog}
Эти ключи отключают действия, которые находятся в файловом диалоге KDE. Чтобы использовать их, создайте секцию в kdeglobals, которая выглядит следующим образом:
[KDE Action Restrictions][$i]
action/<key>=false
Ключ | Действие |
---|---|
action/home | Перейти в домашний каталог |
action/up | Перейти в родительский каталог |
action/back | Перейти в предыдущий каталог |
action/forward | Перейти в следующий каталог |
action/reload | Обновить каталог |
action/mkdir | Создать новый каталог |
action/toggleSpeedbar | Показать/скрыть боковую панель |
action/sorting menu | Параметры сортировки |
action/short view | Выберите краткий вид |
action/detailed view | Выбрать подробный вид |
action/show hidden | Показать/скрыть скрытые файлы |
action/preview | Показать/скрыть превью |
action/separate dirs | Показать/скрыть отдельные каталоги |
Печать
Существует несколько ключей, которые ограничивают различные функции диалогового окна печати и системы печати KDE. Чтобы использовать их, создайте раздел конфигурации следующим образом:
[KDE Resource Restrictions][$i]
print/<resource key>=false
Обратите внимание, что в конфигурационном файле все ключи печати начинаются с print.
- print/copies: Отключает панель, которая позволяет делать более одной копии.
- print/dialog: Отключает весь диалог печати. При выборе опции печати выбранный документ будет немедленно распечатан с использованием настроек по умолчанию. Убедитесь, что выбран общесистемный принтер по умолчанию. При активации этого ограничения никакие настройки конкретного приложения не выполняются.
- print/options: Отключает кнопку выбора дополнительных параметров печати.
- print/properties: Отключает кнопку для изменения свойств принтера или добавления нового принтера.
- print/selection: Отключает возможность выбора (псевдо) принтера или изменения свойств принтера. Перед отключением этой опции убедитесь, что выбран правильный принтер по умолчанию. Отключение этой опции также отключает функции print/system, print/options и print/properties.
- print/system: Отключает возможность выбора бэкенда системы печати, например, CUPS. Рекомендуется отключить эту опцию после настройки правильной системы печати.
Ограничения ресурсов
Приложения KDE могут использовать многие типы ресурсов, такие как данные конфигурации, кэши, реестры плагинов и т.д. Они загружаются как из общесистемных, так и из пользовательских мест на диске. Можно ограничить использование каталогов ресурсов для каждого пользователя, не позволяя пользователям добавлять или изменять существующие общие ресурсы.
Это достигается путем создания в конфигурационном файле следующего раздела:
[KDE Resource Restrictions][$i]
<resource key>=false
Следующие ключи могут быть использованы для управления ресурсами:
Ключ | Каталог | Представляет |
---|---|---|
all | n/a | Все ресурсы, перечисленные в таблице |
autostart | share/autostart | Приложения для запуска при входе в систему |
data | share/app | Данные приложений |
data_<appname> | share/apps | Данные приложения для названного приложения |
html | share/doc/HTML | Файлы HTML |
icon | share/icon | Иконки |
config | share/config | Конфигурации приложений |
pixmap | share/pixmaps | Картинки |
xdgdata-apps | share/application | Файлы приложений .desktop |
sound | share/sound | Звуковые файлы |
locale | share/locale | Данные локализации |
services | share/services | Реестр протоколов, плагинов, kparts, панелей управления и т.д. |
servicetypes | share/servicestypes | Определения подключаемых модулей, указанные в записях реестра служб |
mime | share/mimelnk | Определения MIME-типов |
wallpaper | share/wallpapers | Изображения обоев рабочего стола |
templates | share/templates | Шаблоны документов |
exe | bin | Исполняемые файлы |
lib | lib | Библиотеки |
Скринсейверы
В kdeglobals в группе [KDE Action Restrictions]:
- opengl_screensavers: Определяет, разрешено ли использовать экранные заставки OpenGL.
- manipulatescreen_screensavers: Определяет, разрешено ли использовать хранители экрана, которые манипулируют изображением на экране (например, перемещают фрагменты экрана).
Автоматическое завершение сессии
В kscreensaverrc:
[ScreenSaver]
AutoLogout=true
AutoLogoutTimeout=600
Тайм-аут — это время в секундах, в течение которого пользователь должен бездействовать, прежде чем автоматически запустится процесс выхода из системы. Будьте осторожны с этой возможностью, так как это может привести к потере данных, если у пользователя открыты несохраненные файлы.
Ограничения возможностей сессии
Эти ключи применяются к различным функциям, связанным с сеансом рабочего стола, и не зависят от приложения. Чтобы использовать их, создайте секцию в `kdeglobals, которая выглядит следующим образом:
[KDE Action Restrictions][$i]
<key>=false
custom_config: должен ли учитываться параметр командной строки —config. Параметр командной строки —config может быть использован для обхода заблокированных конфигурационных файлов.
editable_desktop_icons: можно ли перемещать значки на рабочем столе. Чтобы предотвратить добавление, удаление или переименование значков, следует установить для папки рабочего стола режим «только для чтения». (начиная с Plasma 5.14)
lineedit_text_completion: должны ли поля ввода иметь возможность запоминать ранее введенные данные и делать на их основе предложения при вводе. Если одна учетная запись используется несколькими людьми, можно отключить эту функцию из соображений конфиденциальности.
lineedit_reveal_password: могут ли поля ввода пароля иметь кнопку, позволяющую показать пароль в виде обычного текста. (начиная с KDE Frameworks 5.30 и/или Plasma 5.9)
action/lock_screen: может ли пользователь блокировать экран.
logout: может ли пользователь выйти из сеанса Plasma.
movable_toolbars: может ли пользователь перемещать панели инструментов. См. также action/options_show_toolbar.
run_command: можно ли использовать «Выполнить команду» (Alt-F2).
Note: Чтобы также отключить запуск контекстного меню рабочего стола, необходимо выполнить команду action/run_command в [KDE Action Restrictions].
run_desktop_files: могут ли пользователи выполнять файлы рабочего стола, которые не являются частью рабочего стола по умолчанию, меню KDE, зарегистрированных служб и автозапускаемых служб.
- Рабочий стол по умолчанию включает файлы в каталоге
.local/share/kdesktop/Desktop
, но не файлы в каталоге$HOME/Desktop
. - Меню KDE включает в себя все файлы из каталогов
$KDEDIR/share/applnk
и$XDGDIR/applications
3 - Зарегистрированные сервисы включают все файлы в каталоге `
$KDEDIR/share/services
- Автозапускаемые службы включают все файлы в каталоге
$KDEDIR/share/autostart
, но не файлы в каталоге$KDEHOME/Autostart
shell_access: Можно ли запустить оболочку, пригодную для ввода произвольных команд. Это также определяет, можно ли использовать «Выполнить команду» (Alt-F2) для запуска shell-команд и произвольных исполняемых файлов. Также и исполняемые файлы, помещенные в папку автозапуска пользователя, больше не будут выполняться. Приложения по-прежнему могут быть автозапущены путем размещения файлов .desktop
в каталоге .local/share/autostart
. См. также run_desktop_files.
Возможно, вы также захотите активировать следующие ограничения ресурсов:
- appdata_kdesktop — Для ограничения рабочего стола по умолчанию.
- apps — Для ограничения меню KDE.
- xdgdata-apps — Для ограничения меню KDE.
- services — Для ограничения зарегистрированных сервисов.
- autostart — Для ограничения автозапуска служб.
В противном случае пользователи смогут выполнять файлы .desktop, помещая их, например, в .local/share/kdesktop/Desktop
skip_drm: может ли пользователь отказаться от проверки DRM. На момент написания статьи это относится в первую очередь к форматам документов с механизмом DRM (например, PDF).
action/start_new_session: может ли пользователь начать новую сессию.
action/switch_user: разрешено ли переключение пользователей.
Телеметрия
Хотя по умолчанию телеметрия отключена, пользователь может включить ее в приложениях.
Для принудительного глобального отключения укажите в /etc/xdg/KDE/UserFeedback.conf
:
[UserFeedback]
Enabled=false
1 Посмотреть значения переменных окружения можно командой printenv или env
2 По умолчанию (если не указано в переменных окружения) XDG_CONFIG_HOME=»$HOME/.config» и XDG_DATA_HOME=»$HOME/.local/share»
3 $KDEDIR по умолчанию — /usr