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