所有者无法写入日志文件

所有者无法写入日志文件

我正在编写一个 python 脚本,我在 /var/log/ 文件夹中创建了一个具有 664 权限的文件

python 脚本无法将日志写入创建的文件,IDK 为什么...因为文件所有者是 ubuntu(aws 的默认用户)。

我非常小心地授予了该文件的读写权限

由于权限被拒绝问题,计划的 crontab 无法运行该应用程序。有任何想法吗?

i) 用于设置 crontab 的命令 - crontab -e ii) 运行 python 脚本的 crontab 行 - */30 * * * * python3 /home/ubuntu/message_initiator.py iii) 确切的错误消息 -Permission denied: '/var/log/ice-message-initiator.log'

答案1

如果你跑

ll -d /var/log

root然后您将看到它由(可能syslog是组)拥有并具有 755 或 775 权限,这意味着虽然其他人可以读取和遍历该目录,但只有root(并且可能syslog)可以修改它。ice-message-initiator.log是 in/var/log并且ubuntu是其所有者,ubuntu没有修改权限,/var/log这意味着它无法修改其内容,无论它们是文件还是目录。发生该错误不是因为ubuntu用户无法读取该文件,而是因为由于没有对其父目录的修改权限而无法写入该文件/var/log

要让你的 cronjob 工作,你要么需要运行它,root要么让它将日志文件写入子目录,例如并为其/var/log/ice授予修改权限。ubuntu

相关内容