从 php 脚本登录/var/log 时权限被拒绝

2022-01-13 00:00:00 logging bash centos php

我发现我的 crontab 脚本无法按预期工作,因为它们无法写入/var/log.我尝试执行命令:

I found my crontab scripts do not work as expected because they cannot write on /var/log. I tried executing command:

sudo/usr/bin/php/var/www/html/iPhone/inarrivo/php/rome/process.php >>/var/log/romeLoading.log 2>&1

sudo /usr/bin/php /var/www/html/iPhone/inarrivo/php/rome/process.php >> /var/log/romeLoading.log 2>&1

亲手得到:

-bash:/var/log/romeLoading.log: 权限被拒绝

-bash: /var/log/romeLoading.log: Permission Denied

/var/log 权限为:

/var/log permissions are:

drwxr-xr-x.13 根根 4096 15 前 16.20 .

drwxr-xr-x. 13 root root 4096 15 ago 16.20 .

如果我反过来执行:

sudo touch/var/log/loadRome.log

sudo touch /var/log/loadRome.log

我没有任何错误.

可能是什么问题?

请注意 Apache 没有受到威胁:我从根 crontab 和 shell 调用这些脚本,并使用 sudo 作为测试.

Please note Apache is not at stake: I am calling those scripts from the root crontab and from the shell with sudo as a test.

推荐答案

这是一个权限问题,因为日志文件属于 root 用户并且 apache 运行了 www-data.试试 chown www-data:www-data/var/log/loadRome.log.

It's a permissions issue as the log file belongs to root user and apache runs off www-data. Try chown www-data:www-data /var/log/loadRome.log.

相关文章