У меня есть учетная запись на размещенном веб-сервере, где у меня есть доступ по SSH.
Файлы вставлены /home/sandra/public_html
онлайн.
«ДокуВики» рекомендует data
и conf
каталог не в Document Root
, поэтому я переместил их в /home/sandra/data/
и /home/sandra/conf
.
Проблема в том, что apache
не может писать в эти каталоги.
Право собственности на /home/sandra/
является sandra.sandra
.
Вопрос
Есть ли другие решения этой проблемы, кроме
chmod 777 /home/sandra
Может ли мне помочь пользователь root?
Так как Hex уже написано, каталог должен быть доступен для записи пользователю, под которым работает Apache. Вы можете добиться этого, изменив группу на основную группу пользователя Apache (www-data в Ubuntu) и предоставив группе разрешение на запись.
chgrp -R www-data /home/sandra/data /home/sandra/conf
chmod -R g+rwX /home/sandra/data /home/sandra/conf
Пользователь также должен уметь cd
в эти каталоги, поэтому ему нужно execute
разрешения в родительском каталоге.
chmod o+X /home/sandra
Другой вариант - добавить соответствующие ACL для пользователя Apache, если файловая система их поддерживает.
setfacl -m default:u:www-data:rwx /home/sandra/data /home/sandra/conf
setfacl -m u:www-data:x /home/sandra
Я бы не рекомендовал менять владельца.
Можешь попробовать
chown -R apache /home/sandra/conf
Эта команда сделает apache владельцем этих файлов. Затем вы можете предоставить apache полный доступ к папке, выполнив
chmod 770 /home/sandra/conf
Обе команды должны запускаться в обеих папках соответственно.