awstats“权限被拒绝”,但文件和目录都有权限

awstats“权限被拒绝”,但文件和目录都有权限

我从 awstats 收到此通知:

Error while processing /etc/awstats/awstats.conf
Create/Update database for config "/etc/awstats/awstats.conf" by AWStats version 7.4 (build 20150714)
From data in log file "/var/log/apache2/access.log"...
Error: Couldn't open server log file "/var/log/apache2/access.log" : Permission denied
Setup ('/etc/awstats/awstats.conf' file, web server or permissions) may be wrong.
Check config file, permissions and AWStats documentation (in 'docs' directory).

但是,我没有发现权限有什么问题:

> ls -l /var/log/apache2/access.log
-rw-r--r-- 1 root adm 62438 Sep 30 09:51 /var/log/apache2/access.log
> ls -ld /var/log/apache2
drwxr-xr-x 2 root root 12288 Sep 30 06:25 /var/log/apache2/
> ls -ld /var/log
drwxr-xr-x 20 root root 4096 Sep 30 06:25 /var/log/
> ls -ld /var
drwxr-xr-x 13 root root 4096 Sep 23 14:39 /var/

我在这里遗漏了什么?

编辑以获得更多说明:

此错误由 awstats cron 作业抛出。cron 作业的内容如下:

> cat /etc/cron.d/awstats
MAILTO=root

*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh

# Generate static reports:
10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh

因此该作业正在由用户运行www-data

www-data应该具有该文件的读取权限;当我运行时,sudo -u www-data less /var/log/apache2/access.log它运行正常。

awstats 是否需要日志文件的写入权限?它需要这个权限似乎很奇怪,但我找不到任何文档明确告诉我需要这个权限。

答案1

它可以是:

  1. 用户问题(您的进程以 root 以外的其他用户身份运行,并且文件没有 666 或 664)
  2. 文件系统使用问题(例如 100% 使用)FS

答案2

也许你的 apache 没有以 root:adm 身份运行并且进程想要对其进行写入?

答案3

检查用户 www-data 是否具有组 adm:

root@serverweb:~# id www-data

uid=1001 (www-数据) gid=1001 (www-数据) groups=1001 (www-数据),4 (adm)

否则将其添加到 /etc/group 中:

root@serverweb:~# grep www /etc/group

adm:x:4:www-数据

www-数据:x:33:

相关内容