THE чМОСЬ - # Ограничения
𝕌𝕃𝕌𝕊𝕔𝕒𝕥✦ Меню для включения и отключения защиты KDE
❗Более подробнее о возможностях ограничения можно почитать тут (офф вики Альт)
❗Более подробнее о ключах KDE - KDE Kiosk Keys и тут
Ограничения рабочего стола
Расположение файла в котором указываются параметры ограничений рабочего стола KDE действующих на все учётки:
/etc/kf5/xdg/kdeglobals
При использовании разных ограничений глобально/пользователь необходимо прописать в данном файле
[KDE Action Restrictions][$ie]
Тогда ограничения пользователя будут учитываться, в противном случае будут действовать только параметры заданные глобально.
Расположение файла в котором указываются параметры ограничений рабочего стола KDE действующих на УЗ "user":
/home/user/.config/kdeglobals
файл /home/user/.config/kdeglobals
файл может содержать разные параметры:
[KDE Resource Restrictions][$i] wallpaper=false [KDE Action Restrictions][$i] shell_access=false run_command=false action/run_command=false editable_desktop_icons=false action/lock_screen=false action/start_new_session=false action/switch_user=false action/options_show_toolbar=false warn_unwritable_config=false movable_toolbars=false plasma/plasmashell/unlockedDesktop=false plasma/plasmashell/allow_configure_when_locked=false plasma/plasmashell/containment_context_menu=false plasma/containment_actions=false action/options_configure_keybinding=false action/options_configure_toolbars=false action/options_configure_notifications=false action/configdesktop=false action/incIconSize=false action/decIconSize=false action/show_dot=false action/sendPage=false action/sendURL=false action/font=false action/help_about_kde=false ghns=false editable_desktop_icons=false warn_unwritable_config=false lineedit_text_completion=false lineedit_reveal_password=false user/root=false action/kicker_rmb=false action/kdesktop_rmb=false action/konsole_rmb=false action/settings=false appdata_kdesktop=false [KDE Control Module Restrictions][$i] systemsettings.desktop=false kcm_energyinfo.desktop=false kcm_about-distro.desktop=false kcm_access.desktop=false kcm_colors.desktop=false kcm_desktoptheme.desktop=false kcm_workspace.desktop=false kcm_baloofile.desktop=false kcm_keys.desktop=false kcm_fonts.desktop=false kcm_notifications.desktop=false kcm_users.desktop=false kcm_translations.desktop=false kcm_touchpad.desktop=false kcm_style.desktop=false kcm_splashscreen.desktop=false kcm_mouse.desktop=false kcm_sddm.desktop=false kcm_icons.desktop=false kcm_lookandfeel.desktop=false kcm_smserver.desktop=false kcm_landingpage.desktop=false kcm_nightcolor.desktop=false kcm_cursortheme.desktop=false kcm_formats.desktop=false kcm_autostart.desktop=false kcm_tablet.desktop=false kcm_bluetooth.desktop=false kcm_keyboard.desktop=false kcm_componentchooser.desktop=false kcm_launchfeedback.desktop=false kcm_kgamma.desktop=false kcm_kded.desktop=false kcm_clock.desktop=false kamera.desktop=false kcmspellchecking.desktop=false kcm_joystick.desktop=false kcm_filetypes.desktop=false kcm_plasmasearch.desktop=false kcm_solid_actions.desktop=false kcm_activities.desktop=false kcm_qtquicksettings.desktop=false kcm_printer_manager.desktop=false kcm_device_automounter.desktop=false kcm_desktoppaths.desktop=false kcm_fontinst.desktop=false kcm_pci.desktop=false kcm_samba.desktop=false kcm_glx.desktop=false kcm_wayland.desktop=false kcm_usb.desktop=false smart.desktop=false kcm_interrupts.desktop=false kcm_vulkan.desktop=false kcm_cpu.desktop=false kcm_nic.desktop=false kcm_xserver.desktop=false kcm_devinfo.desktop=false kcm_egl.desktop=false kcm_audiocd.desktop=false kcm_cookies.desktop=false kcm_cron.desktop=false kcm_freememorynotifier.desktop=false kcm_kaccounts.desktop=false kcm_kdeconnect.desktop=false kcm_kscreen.desktop=false kcm_kwin_effects.desktop=false kcm_kwin_virtualdesktops.desktop=false kcm_kwinrules.desktop=false kcm_networkmanagement.desktop=false kcm_pulseaudio.desktop=false kcm_ssl.desktop=false kcm_virtualkeyboard.desktop=false kcm_kdf.desktop=false kcm_hotkeys.desktop=false kcm_kwallet5.desktop=false kwincompositing.desktop=false kcm_kwindecoration.desktop=false kcm_kwinoptions.desktop=false kcm_kwinscreenedges.desktop=false kcm_kwin_scripts.desktop=false kcm_kwintabbox.desktop=false kcm_kwintouchscreen.desktop=false kcm_cddb.desktop=false kcm_multicomponentchooser.desktop=false kcm_netpref.desktop=false kcm_powerdevilactivitiesconfig.desktop=false kcm_powerdevilglobalconfig.desktop=false kcm_powerdevilprofilesconfig.desktop=false kcm_proxy.desktop=false kcm_screenlocker.desktop=false kcm_smb.desktop=false kcm_webshortcuts.desktop=false
В данном примере ограничены настройки параметров рабочего стола KDE (kcm_), ограничены параметры блокировки рабочего стола, ограничены изменения внешнего вида и другие.
Почти полный список ключей для настройки рабочего стола можно получить выполнив в консоли команду
$ kcmshell5 --list
Для настройки ключа в [KDE Action Restrictions] необходимо добавить .desktop.
Т.е. в выводе команды --list будет указано kcm_webshortcuts, соответственно для управления необходимо указывать kcm_webshortcuts.desktop.
Меню для включения и отключения защиты KDE
Скрипт при снятии защиты делает бекап актуальных настроек, внесенных в файл kdeglobals и удаляет сам файл с настройками. При установке защиты, скрипт просто восстанавливает файл из бекапа.
Создаете файл с расширением .sh, в правах файла ставите галочку, что он является исполняемым. Содержимое файла
#!/bin/bash i=$(kdialog --radiolist "Выберите действие" 1 "Установить защиту KDE" on 2 "Снять защиту KDE" off) if [ $i = 1 ] ; then pkexec bash -c 'cp /etc/kf5/xdg/kdeglobals.bk /etc/kf5/xdg/kdeglobals' kdialog --msgbox "Защита установлена" fi if [ $i = 2 ] ; then pkexec bash -c 'cp /etc/kf5/xdg/kdeglobals /etc/kf5/xdg/kdeglobals.bk && rm -f /etc/kf5/xdg/kdeglobals' kdialog --msgbox "Защита снята" fi
После выполнения скрипта, рекомендуется делать ребут системы или релог пользователя, но часть настроек будет доступна сразу после удаления защиты.
Блокировка ярлыков
su- chown root:root /home/student/Рабочий\ стол chown root:root /home/student/Рабочий\ стол/* chmod 0755 /home/student/Рабочий\ стол chmod 0755 /home/student/Рабочий\ стол/*
Запрет смены пароля
chmod 700 /usr/bin/passwd