Добрый день уважаемые читатели!

Если Вы проходите курс AL-1701 и задались вопросом “Что означает красный цвет фона рабочего стола в Astra Linux?” отвечу – это значит, что пользователь зашёл в систему под высоким уровнем целостности.
Напомню, что свои вопросы по курсу AL-1701 с вариантами ответов Вы можете отправить мне на почту – sandro331k@yandex.ru (можно в виде снимков экрана). Я обязательно проведу разбор и опубликую его в блоге.

С уважением, автор блога

Сегодня мы рассмотрим реализацию одной небольшой, но такой важной задачи в моей бюджетной организации – установка фонов рабочего стола пользователей.

Одно время нас заваливали тоннами указаний об установке специализированных фоновых рисунков и поэтому пришлось разобраться – как в Astra Linux установить фоновый рисунок всем пользователям одновременно и запретить его смену самостоятельно.

Начнём с того, что смена фонового рисунка рабочего стола – прерогатива пользователя. Файл конфигурации находится в его домашнем каталоге:

~/.fly/theme/current.themerc

Параметр расположения фонового рисунка с говорящим именем WallPaper устанавливает расположение файла фонового рисунка или каталога с ними, а WallPaperPeriod  – количество минут, которое должно пройти перед сменой рисунка в случае, если вместо файла был указан каталог с рисунками (так называемый режим слайд-шоу).

В Astra Linux также есть графическая утилита для смены указанных параметров, через которую пользователю и предлагается менять фоновый рисунок самостоятельно – fly-admin-theme.

fly-admin-theme
Графическая утилита fly-admin-theme

Так как основная масса пользователей не будет менять фоновый рисунок, используя текстовый редактор, для запрета смены фонового рисунка достаточно блокировать запуск указанной графической утилиты командами:

sudo chgrp astra-admin /usr/bin/fly-admin-theme
sudo chmod 750 /usr/bin/fly-admin-theme

Таким образом запуск утилиты будет разрешён только пользователю входящему в группу astra-admin.

Следующим шагом – для массовой смены фонов рабочего стола пользователей нам нужно найти файлы current.themerc в их рабочих каталогах и заменить на подготовленный “эталонный” current.themerc – сделать это можно командой:

sudo find /home –name current.themerc –exec cp /tmp/current.themerc {} ';'

Данной командой я ищу все файлы с именем current.themerc в директории /home (где расположены каталоги пользователей) и заменяю их эталонным файлом current.themerc, который предварительно скопировал в каталог tmp (вы должны указать свой путь к эталонному файлу конфигурации, либо сделать так же, как я).

Осталось настроить, чтобы все вновь создаваемые пользователи “по умолчанию” имели установленный нами фон рабочего стола – для этого скопируем наш эталонный файл, заменив файл темы в директории-шаблоне для вновь создаваемых пользователей.

sudo cp /tmp/current.themerc /usr/share/fly-wm/theme/default.themerc

С этого момента все вновь созданные пользователи получат заданный вами фоновый рисунок по умолчанию.

Однако должен предупредить, что ввиду расположения файла конфигурации current.themerc в каталоге пользователя, ему остаётся доступен вариант смены фона рабочего стола с помощью текстового редактора.

Запретить редактировать файл, владельцем которого является пользователь простыми способами – невозможно. Пользователь всегда будет иметь возможность удалить его, как владелец директории (либо всю директорию, либо весь домашний каталог :-)).

Но как показывает статистика – таких продвинутых пользователей единицы.

Для них вы можете написать cron-скрипт, который каждую минуту будет проверять установленный фон рабочего стола и осуществлять выход из сессии пользователя с восстановлением настроек по умолчанию :-).

Но это совсем другая история – до новых встреч!

Александр Марухин
sandro331k@yandex.ru

6 комментариев для “Запрет смены фона рабочего стола Astra Linux и его автоматическая установка

  1. К вопросу по теме Home2023Октябрь29Запрет смены фона рабочего стола Astra Linux и его автоматическая установка

    Доброго времени суток!!!
    У меня вопрос вот какого плана.
    До версии Astra Linux SE 1.7.4 “Смоленск” под администратором вроде бы нельзя было менять фон рабочего стола.
    Но я нашел простое решение, это щелчок правой кнопкой мыши на фоне в fly-admin-theme после чего появлялось
    предупреждение о том что фон изменять нельзя, однако после этого все равно открывалось окно выбора пути к файлу фона и
    он благополучно устанавливался ;). В версии 1.7.5 теперь это уже тоже заблокировали, однако и тут есть решение, экспортировать
    настройки с версии 1.7.4 и импортировать в 1.7.5, тоже сработало. Вообще непонятна конечно эта политика запрета смены именно
    фона, ну да ладно. Вопрос в другом.
    Когда устанавливаешь этот фон то в режиме блокировки экрана он благополучно остается и в режиме блокировки экрана, а вот когда
    создаешь нового обычного пользователя, там как известно фон можно менять без ограничений, то при срабатывании экрана блокировки
    фон остается только по дефолту. !!!

    1. Здравствуйте!
      Ну лично я придерживаюсь позиции – не работать под администратором.
      Я создаю отдельного пользователя с низкой целостностью и под ним работаю. При необходимости подключаюсь через ssh и через консоль правлю настройки.

  2. Добрый день!
    Можно сделать условно “проще”. При этом в сеансе обои меняться будут, но после выхода из сеанса, всё восстановится.
    Ниже часть моего скрипта по настройке ALSE, с реализацией этой возможности и ещё кое чего.

    #!/bin/bash
    USER=$1

    # запретить изменять обои рабочего стола, тему оформления, меню Пуск и свойств панели задач
    chown -R root:root “/home/${USER}/.fly/theme/current.themerc” “/home/${USER}/.fly/startmenu/” “/home/${USER}/.fly/toolbar”
    chmod -w “/home/${USER}/.fly/theme/current.themerc” “/home/${USER}/.fly/startmenu/” “/home/${USER}/.fly/toolbar”
    setfacl -R -m u:${USER}:rX “/home/${USER}/.fly/theme/current.themerc” “/home/${USER}/.fly/startmenu/” “/home/${USER}/.fly/toolbar”
    setfacl -R -m d:u:${USER}:rX “/home/${USER}/.fly/theme/current.themerc” “/home/${USER}/.fly/startmenu/” “/home/${USER}/.fly/toolbar”
    chattr +i “/home/${USER}/.fly/theme/current.themerc” “/home/${USER}/.fly/startmenu/” “/home/${USER}/.fly/toolbar”

    1. Добрый день!
      Всё равно владельцем данного каталога остаётся пользователь.
      Удалит его и дело с концом.

  3. Многоуважаемые, как реализуется функция закрепления ярлыков/папок рабочих столов?
    Всякий раз объекты встают по алфавиту

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *