Не уверен, возможно ли это, но есть ли способ предоставить пользователю Apache тот же уровень разрешений (права владения), что и root, только для определенных папок.
Зачем мне это нужно: у нас есть сервер CentOS 6.2 с настройкой Apache в качестве сервера разработки, и мы используем только пользователя root, поскольку сервер является внутренним и не имеет внешнего доступа. Каждый день мы загружаем довольно много файлов и создаем новые папки. Но поскольку мы используем пользователя root, право собственности на файлы принадлежит пользователю root, и для того, чтобы пользователь Apache мог создавать файлы (загружать изображения, создавать файлы журналов и папки), нам необходимо предоставить права 777.
Конечно, мы можем зайти и обновить владельца всех файлов на Apache, но не все в команде знают, как это сделать, поэтому если бы можно было предоставить пользователю Apache права root на папку "/var/www/*" и ее содержимое, это решило бы все проблемы.
решение1
Похоже, вам нужна помощь от umask
. Установка umask папки и т. п. по умолчанию будет устанавливать этот режим для вновь создаваемых файлов, например 777.
Чтобы установить umask 777 для процесса Apache (инструкции для CentOS/RHEL):
echo "umask 777" >> /etc/sysconfig/httpd
service httpd restart