Apache 在public_html中具有写权限吗?

Apache 在public_html中具有写权限吗?

我在托管的网络服务器上有一个帐户,在那里我可以通过 SSH 访问。

放入的文件/home/sandra/public_html已在线。

DokuWiki 建议不要将dataconf目录放在中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

必须分别在两个文件夹上运行这两个命令。

相关内容