На этот вопрос уже есть ответ здесь:
У меня есть папка, в которой новые подпапки и файлы будут создаваться автоматически по сценарию.
Я хочу рекурсивно поддерживать права пользователей и групп для всех новых папок и файлов, помещенных в родительский каталог. Я знаю, что это связано с установкой залипания, но я не могу найти команду, которая показывает именно то, что мне нужно.
Это то, что я сделал до сих пор:
sudo mkdir -p /path/to/parent
sudo chmod -R 660 myself:somegroup /path/to/parent
После этого я хочу, чтобы разрешения 660 были рекурсивно установлены для любых папок и файлов, помещенных в /path/to/parent
.
Однако все, что я пробовал до сих пор, провалилось. Может кто-нибудь помочь, пожалуйста?
На самом деле восьмеричный флаг 660, вероятно, даже не верен. Разрешения, которые я хочу:
- Каталоги, размещенные в
/path/to/parent
папке, доступны для пользователей с разрешениями. - файлы доступны для чтения / записи самим пользователем и членами группы.
- Файлы и папки
/path/to/parent
не доступны для чтения
Я работаю на Ubuntu 10.0.4 LTS.
Может кто-нибудь помочь, пожалуйста?
источник
o+w
хороший выбор? Разве изменения не должны ограничиватьсяu
иg
? Иначе, какой смысл пытаться поддерживать безопасность каталога и подкаталогов?Биты разрешения, которые вы ищете, это 0770 и 0660.
rw-
разрешения →110
бинарный →6
восьмеричныйСобственность группа может быть унаследован новыми файлами и папками , созданных в вашей папке / путь / к / родителей, устанавливая setgid бит , используя ,
chmod g+s
как это:Теперь для всех новых файлов и папок, созданных в / path / to / parent, будет назначена та же группа, что и для / path / to / parent.
Права доступа к файлам POSIX не наследуются; они задаются процессом создания и объединяются с его текущим значением umask.
Тем не менее, вы можете использовать POSIX ACL для достижения этой цели. Установите ACL по умолчанию для каталога:
Это будет относиться
setfacl
к директории / путь / к / родителю,-m
odifying в-d
EFAULT списки контроля доступа - те , которые будут применяться к вновь созданным элементам. (Верхний регистрX
означает, что только каталоги получат+x
бит.)(При необходимости вы можете добавить
u:someuser:rwX
илиg:someuser:rwX
- предпочтительно группу - в ACL.)Примечание. В старых системах, использующих ext3 / ext4, раньше вам
acl
приходилось монтировать файловую систему с параметром, в противном случае он будет игнорировать все списки ACL и запрещать установку новых.Чтобы установить это навсегда, используйте
tune2fs -o acl <device>
или отредактируйте/etc/fstab
.источник
unzip
?Я думаю, вы слишком усложнили проблему. Если каталог верхнего уровня недоступен для других, другие не смогут создавать файлы в дереве. Групповой доступ для записи не требуется, если только Apache выполняет запись.
Эти шаги должны делать то, что вы хотите (замените каталог в командах на каталог, который вы хотите использовать):
umask 027
в скрипт apache по умолчанию/etc/default/apache
. Это предотвратит доступ других к любым файлам или каталогам, создаваемым Apache.chown www-data:www-data directory
в каталоге, в который вы хотите, чтобы apache мог писать.chmod 750 directory
в каталоге, в который вы хотите, чтобы apache мог писать.Разрешение apache на запись в каталог открывает возможность внедрить все виды вредоносных программ в контент, который вы обслуживаете. Контролируйте содержимое этого дерева каталогов соответствующим образом.
источник