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.而不是更改所有权,而不是更改我们正在尝试的内容在这里做,因此应该被认为是危险的。