См. Разрешения для новых файлов в данном каталоге

Символические ссылки с относительными путями, поскольку их содержимое относится к каталогу, в котором находится символическая ссылка, а не относительно cwd процесса, разрешающего символическую ссылку. Не следует ожидать, что трюк, которого вы пытаетесь достичь, сработает.

1
12.05.2017, 01:47
2 ответа

Маска — большая часть головоломки. У рута другой umask. Это довольно типично.

Часть головоломки, которую вы упускаете из виду, заключается в том, что umask — это маска. Когда приложение создает файл, оно указывает некоторые разрешения; umask — это фильтр для этих разрешений, который удаляет некоторые биты разрешений. В файле есть только биты разрешений, включенные приложением. Например, приложение, которое намеревается создать неисполняемый файл (такой как touch), передает биты разрешения 666 (в восьмеричном формате); с umask 002 это приводит к разрешениям 664, то есть rw-rw-r--: umask удалил бит записи-другого. При создании каталога приложение (например, mkdir) обычно разрешает выполнение и поэтому указывает 777 в качестве разрешений; umask 002 приводит к разрешениям 775 на каталог, то есть rwxrwxr-x.

Вы можете увидеть, какие разрешения использует приложение, наблюдая за системными вызовами, которые оно делает. Например:

$ strace -e open,mkdir touch foo
… skipping opening of dynamically linked libraries etc. …
open("foo", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 3
+++ exited with 0 +++
$ strace -e open,mkdir mkdir goo
… skipping opening of dynamically linked libraries etc. …
mkdir("goo", 0777)                      = 0
+++ exited with 0 +++
1
27.01.2020, 23:45

Каталогу нужны разрешения на выполнение, чтобы перейти в него или получить листинг, поэтому, когда каталог создается, он автоматически устанавливает биты +x.

Файлам, однако, требуется только установить бит выполнения (s ), если они являются скомпилированными двоичными файлами (c/c++/etc )или интерпретируемым -скриптом (sh/bash/ php/perl/etc ), а также не делать вещи исполняемыми по умолчанию из соображений безопасности.

0
27.01.2020, 23:45

Теги

Похожие вопросы