我在托管的网络服务器上有一个帐户,在那里我可以通过 SSH 访问。
放入的文件/home/sandra/public_html
已在线。
DokuWiki 建议不要将data
和conf
目录放在中Document Root
,因此我将它们移至/home/sandra/data/
和/home/sandra/conf
。
问题是apache
无法写入这些目录。
的所有权/home/sandra/
为sandra.sandra
。
问题
除了这个以外还有其他解决方案吗?
chmod 777 /home/sandra
root 用户能帮助我吗?
答案1
作为十六进制已经写入,则该目录对于运行 Apache 的用户必须是可写的。您可以通过将组更改为 Apache 用户的主组(Ubuntu 上的 www-data)并授予该组写入权限来实现这一点。
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
另一个选择是,如果文件系统支持,则为 Apache 用户添加相应的 ACL。
setfacl -m default:u:www-data:rwx /home/sandra/data /home/sandra/conf
setfacl -m u:www-data:x /home/sandra
我不建议更换所有者。
答案2
你可以试试
chown -R apache /home/sandra/conf
此命令将使 apache 成为这些文件的所有者。然后,您可以通过执行以下操作授予 apache 对该文件夹的完全访问权限
chmod 770 /home/sandra/conf
必须分别在两个文件夹上运行这两个命令。