1

Я пытаюсь настроить права доступа к файлам, которые устанавливаются для каталогов и файлов, когда они создаются определенным пользователем / группой, но, похоже, что-то не так.

Я попытался установить следующее:

chmod 2770 /path/to/directory
chmod g+rwxs /path/to/directory

Однако, когда я создаю новый каталог в этом каталоге, например

/path/to/directory/deletemeplease

deletemeplease будет иметь разрешения drwxr-sr-x

Любые файлы, созданные в /path/to/directory/ имеют права доступа rw-r--r--

Я также попытался установить ACL для каталога, как показано ниже:

setfacl -dm u::rwx,g::rwx,o::r /path/to/directory

При настройке ACL права доступа для созданных файлов и каталогов становятся rw-rw-r-- которые становятся ближе, но бит выполнения все еще не установлен.

Есть ли шаг, который я здесь пропускаю?

РЕДАКТИРОВАТЬ

Связанный ответ только объясняет разницу между umask и chmod. Моя проблема в том, что после установки разрешений они не выполняются.

Когда создается новый каталог или файл, я ожидаю, что права доступа будут установлены на rwxrwxr-- . Как бы то ни было, когда создается новый каталог, он имеет права rwxr-sr-- . Когда создается новый файл, разрешения имеют вид rw-rw-r-- . Затем, если новый каталог создан и содержит файлы, файлы во вновь созданном каталоге имеют права доступа rw-r--r-- что очень странно.

Я только что обнаружил, что при создании файлов и каталогов в терминале эти разрешения применяются должным образом (за исключением бита выполнения для файлов). Странное поведение, описанное выше, происходит, когда каталоги / файлы создаются с помощью rsync из выполняемого скрипта. Сценарий выполняется через пользователя www-data, который является пользователем каталога и группой для каталога, к которому применены acls, поэтому их нельзя применять при запуске rsync?

Сценарий, который запускает rsync, использует следующую команду:

rsync -rltgoDzvO /path/for/files/to/sync /path/to/directory

0