Данная статья применима к:
- 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
Что такое umask
Параметр операционной системы umask ограничивает дискреционные права доступа, которые присваиваются новым (создаваемым) файловым объектам (файлам и каталогам) по умолчанию.
Подробное описание дискреционных прав доступа см. в статье Списки управления доступом к файловым объектам (ACL) в Astra Linux. Примеры задания дискреционных прав доступа с помощью числовых масок:
- режим полного доступа для каталогов — 777;
- режим разрешения чтения и записи для файлов — 666.
Параметр umask ограничивает доступа, указывая, какие биты следует сбросить в маске доступа создаваемого файлового объекта. Каждый установленный бит umask запрещает выставление соответствующего бита в маске. Исключением из этого запрета являются биты исполняемости для файлов, зависящие от создающей файл программы. Трансляторы устанавливают биты исполняемости для создаваемых ими файлов, другие программы — нет). Для каталогов биты исполняемости задают разрешения на поиск в каталоге, и в этом случае их установка ограничивается битами umask по общему правилу.
Значение параметра umask 0 позволяет выставить все биты прав (rwxrwxrwx), значение 777 запрещает выставление любых прав.
Модуль pam_umask
В операционной системе специального назначения Astra Linux Special Edition выбор значения umask осуществляет модуль pam_umask. Модуль извлекает значение umask из следующих источников:
- значение параметра umask из поля GECOS пользователя (в поле GECOS хранится общая информация о пользователе);
- значение параметра umask, переданное как аргумент самому модулю pam_umask.so;
- значение UMASK в /etc/login.defs;
- значение UMASK= в /etc/default/login.
В дополнение к значению umask модуль pam_umask также извлекает из GECOS и устанавливает значения параметра pri (приоритет пользовательской сессии) и ulimit (максимальный размер файлов, которые могут создать процессы в сессии).
Активация модуля pam_umask
Для активации модуля необходимо внести в конец файла /etc/pam.d/common-session строку вида:
session optional pam_umask.so
Установка глобальной маски umask
Для установки глобальной маски прав доступа umask можно:
передать значение маски как параметр модуля pam_umask.so:
/etc/pam.d/common-sessionsession optional pam_umask.so umask=0022
указать значение в файле /etc/default/login (создать файл, если его нет):
/etc/default/loginUMASK=077
изменить данный параметр в файле /etc/login.defs:
UMASK 077
для отдельного пользователя в поле GECOS этого пользователя (сохраняются в файле /etc/passwd) можно указать значение маски командой:
sudo chfn --other='umask=002' <имя_пользователя>
Чтобы изменения значения umask вступили в силу необходимо перезапустить пользовательскую сессию.
Команда umask
Получить текущее значение umask в текущей сессии можно командой: