Как сделать так, чтобы новое файловое разрешение унаследовалось от родительского каталога?
У меня есть каталог под названием data
. Затем я запускаю скрипт под идентификатором пользователя ‘robot’. Робот записывает в каталог data
и внутри него файлы обновления. Идея заключается в том, что data
открыт для обновления как мне, так и роботу.
Поэтому я настраиваю группу разрешений и владельца вроде этой
drwxrwxr-x 2 me robot-grp 4096 Jun 11 20:50 data
, где и я, и робот принадлежат ‘robot-grp’. Я изменяю разрешения и группу владельцев рекурсивно, как в родительском каталоге.
Я регулярно загружаю новые файлы в каталог data
, используя rsync
. К сожалению, новые загружаемые файлы не наследуют права родительской директории, как я надеюсь. Вместо этого он выглядит так:
-rw-r--r-- 1 me users 6 Jun 11 20:50 new-file.txt
Когда робот пытается обновить new-file.txt
, он терпит неудачу из-за отсутствия разрешения на загрузку файлов.
Я не уверен, что установка маски помогает. В любом случае, новые файлы на самом деле не следуют за ним.
$ umask -S
u=rwx,g=rx,o=rx
Я часто путаюсь с разрешениями на файлы Unix. Есть ли у меня вообще правильный план? Я использую Debian lenny.