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,并仍然出现错误。

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

权限drwxrwxr-x root root表示只有root用户和root组的成员才能写入该目录。 在目录中创build或删除文件被认为是写入该目录,因此当您尝试创build文件/var/www/awstats/awstats032014.site.net.tmp.9198时,会根据包含的目录执行权限检查。

这个问题的另一半是Apache正在创build文件。 Apache通常在基于Debian的系统上运行为www-data用户,在基于RedHat的系统上运行为httpd 。 这些用户不在root组中,因此不能写入该目录。

最小特权的原则表明,我们应该做出一个改变,只允许我们想要的,而不是更多。 所以我认为将目录所有者更改为Apache用户可以完成这项工作。

 chown www-data /var/www/awstats 

如果需要,也可以将模式从775更改回755 ,并且仍然可以工作。

可以更改目录组,或者将www-data用户添加到root组,或者将目录的模式更改为777.而不是更改所有权,而不是更改我们正在尝试的内容在这里做,因此应该被认为是危险的。