我在新的Ubuntu Lucid服务器上安装了awstats,但是当cron尝试以用户身份运行它时www-data
,它会抱怨cannot access /var/log/apache2/access.log: Permission denied
。
在/usr/share/doc/awstats/README.Debian
此段落中:
默认情况下,Apache使用uid = root和gid = adm存储(从1.3.22-1版本开始)的日志文件,因此您需要...
1)更改/etc/logrotate.d/apache中的日志文件的权限,以使www-data至少具有读取权限。
2)与1)相同,但更改为特定用户,然后使用Apache的suEXEC功能以同一用户身份运行(并同时更改/ var / lib / awstats的权限或使用其他目录)。这更加复杂,但是服务器通常无法访问日志(这可能是Apache默认设置的要点)。
3)将awstats.pl更改为adm组(但是请注意,然后冒着允许CGI脚本访问计算机上管理员内容的风险!)。
我会选择1,但是建议授予什么权限?
chmod 755 /var/log/apache2
和chmod 644 access.log
,但是我想要一种“这是最好的实践”之类的答案:)谢谢您的指教!
chown www-data:www-data <yourFile>
然后chmod 655 <yourFile>
。