Содержание

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Info
iconfalse

Table of Contents


Umask

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

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

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

Pam_umask

В операционной системе специального назначения Astra Linux Special Edition за изменение маски прав доступа отвечает модуль pam_umask.

Модуль pam_umask пытается получить значение маски из следующих мест:

Section
bordertrue
  • значение umask= переданное как аргумент самому pam_umask.so
  • umask= из поля GECOS пользователя
  • значение UMASK=  в /etc/default/login
  • значение UMASK  в  /etc/login.defs

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

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

Code Block
title/etc/pam.d/common-session
session optional pam_umask.so

Для установки глобальной маски прав доступа, можно передать параметр pam_umask.so:

Code Block
title/etc/pam.d/common-session
session optional pam_umask.so umask=0022

Или указать значение в  /etc/default/login:

Code Block
title/etc/default/login
UMASK=002

Так же, можно изменить данный параметр в /etc/login.defs.

Для отдельного пользователя в поле GECOS этого пользователя можно указать значение маски командой:

Command
chfn --other='umask=002' username

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