Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Umask — функция среды POSIX, изменяющая права доступа, которые присваиваются новым файлам и директориям по умолчанию. 

Информация
iconfalse

Оглавление




Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1..7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.76)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 203 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.56)
  • 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

Режим полного доступа для директорий — 777, для файлов — 666. 

Umask указывает, какие биты следует сбросить в выставляемых правах на файл — каждый маске доступа создаваемого файлового объекта. Каждый установленный бит umask запрещает выставление соответствующего бита правв маске. Исключением из этого запрета является бит являются биты исполняемости , который для обычных файлов зависит ,  зависящие от создающей программы (трансляторы ставят бит исполняемости на создаваемые файлы, другие программы — нет), а для каталогов следует файл программы. Трансляторы устанавливают биты исполняемости для создаваемых ими файлов, другие программы — нет). Для каталогов биты исполняемости задают разрешения на поиск в каталоге, и в этом случае их установка ограничивается битами umask по общему правилу.

Значение параметра umask 0 означает, что следует (можно) позволяет выставить все биты прав (rwxrwxrwx), umask значение 777 запрещает выставление любых прав.

Pam

Модуль pam_umask

В операционной системе специального назначения Astra Linux Special Edition за изменение маски прав доступа отвечает выбор значения umask осуществляет модуль pam_umask. Модуль pam_umask пытается получить значение маски извлекает значение umask из следующих местисточников:

Секция
bordertrue
  • значение параметра umask из поля GECOS пользователя (в поле GECOS хранится общая информация о пользователе);
  • значение параметра umask, umask= переданное как аргумент самому модулю pam_umask.soumask= из поля GECOS пользователя;
  • значение UMASK  в  /etc/login.defs;
  • значение UMASK=  в /etc/default/login
  • значение UMASK  в  /etc/login.defs
Активация модуля
  • .


Информация

В дополнение к значению umask модуль pam_umask также извлекает из GECOS и устанавливает значения параметра pri (приоритет пользовательской сессии) и ulimit (максимальный размер файлов, которые могут создать процессы в сессии).


Активация модуля pam_umask

Для активации модуля необходимо внести в конец файла /etc/pam.d/common-session строку вида:

Блок кода
title/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=
002
  • 077
Так же, можно

  • изменить данный параметр в файле /etc/login.defs

.Для
  • :

    Блок кода
    UMASK		077


  • для отдельного пользователя в поле GECOS этого пользователя (сохраняются в файле /etc/passwd) можно указать значение маски командой:

    Command
    sudo chfn --other='umask=002'
username
  • <имя_пользователя>


Чтобы изменения значения umask вступили в силу , необходимо перелогиниться.перезапустить пользовательскую сессию.

Команда umask

Получить текущее значение umask в текущей сессии можно командой:

Command
umask

Изменить значение umask в текущей сессии можно командой:

Command
umask <новое_значение>