Права на файлы и каталоги по умолчанию (umask)
Если создать файл и каталог, то права файла будут 644
, а у каталога 755
.
user@debian-server:~/test$ touch file.txt
user@debian-server:~/test$ mkdir dir
user@debian-server:~/test$ ls -l
total 4
drwxr-xr-x 2 user user 4096 ноя 29 14:22 dir
-rw-r--r-- 1 user user 0 ноя 29 14:22 file.txt
2
3
4
5
6
Такие права получается из совмещения прав по умолчанию и маски режима. Права по умолчанию для каталогов 777
, а для файлов без возможности выполнения — 666
. Маску режима можно посмотреть командой umask
.
user@debian-server:~/test$ umask
0022
2
Маска режима определяет те параметры которые будут исключены из значения п умолчанию при создании файла. Первая цифра маски игнорируется, а остальные три — маска для пользователя, группы и остальных. Расшифровываются они так же как в обычных правах для файлов. Итоговые права вычисляются следующим образом: маска инвертируется (not) и вычисляется логическое И для инвертированной маски и прав по умолчанию.
- Для файлов: not
000 010 010
and110 110 110
=110 100 100
=644
- Для каталогов: not
000 010 010
and111 111 111
=111 101 101
=755
Значение umask
можно изменить. Изменение будет работать в рамках текущей сессии.
user@debian-server:~/test$ umask 077
user@debian-server:~/test$ touch file2.txt
user@debian-server:~/test$ ls -l file2.txt
-rw------- 1 user user 0 ноя 29 14:33 file2.txt
2
3
4