Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
- Astra Linux Special Edition РУСБ.10015-17
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
- Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1
- Astra Linux Special Edition РУСБ.10015-16 исп. 2
- Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
- Astra Linux Common Edition 2.12
Исходные данные
Данная статья подразумевает, что домашние каталоги пользователей размещены в файловой системе, поддерживающие расширенные атрибуты файловых объектов и списки контроля доступа (ACL), и что эта файловая система примонтирована с включенным использованием ACL. Файловая система Ext4, используемая в Astra Linux, по умолчанию соответствует этим требованиям. Проверить, поддерживает ли ваша файловая система ACL можно командой (вместо /dev/sda1 указать нужное имя дискового раздела):
В Astra Linux ялыки для рабочего стола каждого пользователя по умолчанию располагаются в подкаталогах каталога Desktops. Этот каталог и его подкаталоги автоматически создаются при первом входе пользователя в графическую сессию. Сам каталог Desktops по умолчанию располагается в домашнем каталоге пользователя и по умолчанию содержит 4 подкаталога (Desktop1, Desktop2, Desktop3, Desktop4), соответствующих четырём виртуальным столам пользователя, и содержащих ярлыки для каждого из этих рабочих столов.
Расположение каталога с ярлыками для рабочих столов указывается в файле домашнего каталога пользователя .config/user-dirs.dirs (параметр XDG_DESKTOP_DIR), и может быть при необходимости самостоятельно изменено пользователем. Типичное содержание файла .config/user-dirs.dirs:
При этом права доступа на домашние каталоги пользователей настроены таким образом, что для непривилегированных пользователей чтение информации из не принадлежащих им домашних каталогов запрещено.
Пример сценария
Приведённый ниже примерный сценарий может быть сохранён в файл и вызван с именем пользователя в качестве аргумента:
#!/bin/bash
USER=$1
HOME="/home/$USER"
if [ -z "$USER" ] ; then
echo "Укажите имя пользователя"
exit 1
fi
sudo chown -R root:root "${HOME}/.config/user-dirs.dirs" "${HOME}/Desktops"
sudo chmod -R o-rwx,gu+rwX "${HOME}/.config/user-dirs.dirs" "${HOME}/Desktops"
sudo setfacl -R -m u:${USER}:rX "${HOME}/.config/user-dirs.dirs" "${HOME}/Desktops"
sudo setfacl -R -m d:u:${USER}:rX "${HOME}/.config/user-dirs.dirs" "${HOME}/Desktops"
sudo chattr +i "$HOME/.config/user-dirs.dirs" "$HOME
/Desktops"