AWSTATS-手动更新错误(权限)

AWSTATS-手动更新错误(权限)
Error: Couldn't open file "/var/www/awstats/awstats032014.site.net.tmp.9198" for write: Permission denied 

Setup ('/etc/awstats/awstats.site.net.conf' file, web server or permissions) may be wrong.
Check config file, permissions and AWStats documentation (in 'docs' directory).

当我手动尝试更新 awstats(通过浏览器链接)时,出现此错误。我已将 /var/www/awstats/ 的文件夹权限设置为 775,但仍然出现错误。

如果我在该文件夹上创建一个新文件,默认权限设置会将权限设置为 774,这应该可以工作。

答案1

权限drwxrwxr-x root root意味着只有root用户和组成员root才能写入该目录。在目录中创建或删除文件被视为写作到该目录,以便当您尝试创建文件时针对包含的目录进行权限检查/var/www/awstats/awstats032014.site.net.tmp.9198

这个问题的另一半是 Apache 正在创建文件。Apache 通常以用户身份运行,www-data在基于 Debian 的系统上如此,httpd在基于 RedHat 的系统上亦如此。这些用户不属于该root组,因此无法写入该目录。

最小权限原则建议我们做出改变,只允许我们想要的权限,不能允许更多权限。所以我认为将目录所有者更改为 Apache 用户就可以了。

chown www-data /var/www/awstats

如果您愿意,您也可以将模式改回755775它仍然可以工作。

除了更改所有权之外,您还可以更改目录的组,或将用户添加www-dataroot组,或将目录的模式更改为 777。后两者允许的操作远远超出我们在此尝试执行的操作,因此应该被视为危险。

相关内容