Итак, вот в чем проблема. Мой клиент использует Mac OSX Snow Leopard в качестве своего веб-сервера. У него несколько клиентов, сайтов и т. Д. У него также есть несколько дизайнеров, которые имеют доступ к системе.
У него есть пользователь, которого он привязал к определенным каталогам (для сайтов, на которых он только работает). Когда пользователь загружает свои файлы, мой клиент должен войти в корневой каталог, чтобы установить владельца на _www, чтобы у Apache были разрешения на запуск файлов.
Что он хотел бы знать, так это избавиться от необходимости постоянно идти за пользователем, чтобы распространять разрешения на файлы. В Windows он просто без проблем использует Filezilla, поскольку пользователь не интегрирован в ОС.
Есть идеи, как это сделать?
У меня нет системы Mac, которую можно было бы проверить, но ...
В Linux я бы использовал бит SGID для каталога и сделал группу каталогов, в которой работает группа Apache. Для всех файлов, созданных в этом каталоге, группа будет автоматически установлена как группа каталогов, и, следовательно, они будут доступны для чтения Apache. Никаких изменений разрешений не требуется.
Установите групповые права доступа к каталогу на SGID (chmod g+s dirname
), а группа каждого вновь созданного файла или подкаталога будет унаследована как _www.
Но вы должны сделать это для каждого существующего подкаталога, поскольку бит SGID не распространяется на уже существующие подкаталоги.
chgrp -R _www path/to/userdir
find /path/to/userdir -type d -print0 | xargs -0 chmod g+s