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 файл

См. также[править | править код]

Ссылки[править | править код]