Маска создания файлов текущего процесса Маска создания файлов текущего процесса (umask) используется системными вызовами open() и mknod() при установке начальных прав доступа для вновь создаваемых файлов или FIFO. Младшие 9 бит маски создания файлов соответствуют правам доступа пользователя, создающего файл, группы, к которой он принадлежит, и всех остальных пользователей так, как записано ниже с применением восьмеричных значений: 0400 – право чтения для пользователя, создавшего файл; 0200 – право записи для пользователя, создавшего файл; 0100 – право исполнения для пользователя, создавшего файл; 0040 – право чтения для группы пользователя, создавшего файл; 0020 – право записи для группы пользователя, создавшего файл; 0010 – право исполнения для группы пользователя, создавшего файл; 0004 – право чтения для всех остальных пользователей; 0002 – право записи для всех остальных пользователей; 0001 – право исполнения для всех остальных пользователей. Установление значения какого-либо бита равным 1 запрещает инициализацию соответствующего права доступа для вновь создаваемого файла. Значение маски создания файлов может изменяться с помощью системного вызова umask() или команды umask. Маска создания файлов наследуется процессом-ребенком при порождении нового процесса системным вызовом fork() и входит в состав неизменяемой части системного контекста процесса при системном вызове exec(). В результате этого наследования изменение маски с помощью команды umask окажет влияние на атрибуты доступа к вновь создаваемым файлам для всех процессов, порожденных далее командной оболочкой. |
Команда umask Синтаксис команды umask [value] Описание команды Команда umask предназначена для изменения маски создания файлов командной оболочки или просмотра ее текущего значения. При отсутствии параметра команда выдает значение установленной маски создания файлов в восьмеричном виде. Для установления нового значения оно задается как параметр value в восьмеричном виде. |