另一个权限、所有权和用户问题

另一个权限、所有权和用户问题

这始于我注意到一个网站提供客户端被服务器配置拒绝Apache error.log 中的错误,但只出现在一个本地站点的某些文件上。其余站点和所有其他站点都很好,没有出现错误。由于所有站点都具有相同的权限,这似乎很奇怪,但为了一举两得,我开始查看权限和所有权,如下所示。

为了尝试保持本地开发系统和实时服务器之间的权限兼容(实时服务器要求文件夹具有 755 个权限,文件具有 644 个权限),我已使用以下命令将本地开发系统上的权限设置为相同的权限:

sudo cd /var/www/html
sudo find . -type d -exec chmod 0755 {} \;
sudo find . -type f -exec chmod 0644 {} \;

但是,由于这些权限和用户/所有权,www-data我无法再保存新文件或编辑已更改的文件,即使我自己的用户名属于 www-data 组。我在 Ubuntu 20.04 上运行 Apache2。

更新:我不喜欢这样做,但又不得不让它工作,所以我让自己成为所有者,sudo chown -R don:www-data /var/www/html这样至少可以让我保留 644/755 文件/文件夹权限,同时仍然能够读取和写入文件。不过,我很想知道如何让它与正确的 www-data 用户一起工作!

但是,client denied by server configurationApache error.log 文件中的某些文件仍然存在错误。有什么办法可以消除它吗?所有文件和文件夹都具有适当的权限,因此不确定为什么这种情况只发生在几个文件上,并且只发生在一个网站上。

答案1

尝试针对您希望其正常运行的父目录运行以下两个命令。以下是我的系统中的示例。

将所有文件递归更改为 644

sudo find /var/www/html/moodlecnx/ -type f -exec chmod 644 {} \;

将所有目录递归更改为 755

sudo find /var/www/html/moodlecnx/ -type d -exec chmod 755 {} \; 

相关内容