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