umask
umask (от англ. user file creation mode mask — маска режима создания пользовательских файлов) — функция среды POSIX, изменяющая права доступа, которые присваюватся новым файлам и директориям по умолчанию. Права доступа файлов, созданных при конкретном значении umask, вычисляются при помощи следующих побитовых операций (umask обычно устанавливается в восьмеричной системе счисления):
- побитовое И между унарным дополнением аргумента (используя побитовое НЕ) и режимом полного доступа.
Режим полного доступа для файлов — 666 и 777 для директорий. Многие оболочки UNIX предоставляют команду umask, которая влияет на все дочерние процессы, исполняемые в этой оболочке.
ПримерыПравить
Допустим, что значение umask равняется 174, тогда каждый новый файл будет иметь права доступа 602, а каждая новая директория 603:
6668 И НЕ(1748) = 6028
и
7778 И НЕ(1748) = 6038
7778 = (111 111 111)2 1748 = (001 111 100)2 НЕ(001 111 100)2 = (110 000 011)2 (111 111 111)2 И (110 000 011)2 = (110 000 011)2 7778 НЕ (174)8 (603)8
В bash:
$ umask 0174 $ mkdir директория $ touch файл $ ls -l drw-----wx 2 dave dave 512 Sep 1 20:59 директория -rw-----w- 1 dave dave 0 Sep 1 20:59 файл
См. такжеПравить
СсылкиПравить
- http://man.openbsd.org/umask
- «Установка прав доступа» из «The GNU C Library Reference Manual» (англ.)