运行 crontab as www-data 创建一个以 www-data 为所有者的文件

run crontab as www-data to create a file with www-data as owner

我想 运行 每 5 分钟执行一个 py 脚本的 crontab 命令。 py 脚本依次生成一个日志文件,在 /var/www/logs/ 内进行午夜轮换。日志目录具有 777 权限。

日志文件有午夜轮换,当创建新文件时,它创建为 root owner.How 以确保所有权保持为 www-data 因为一些其他脚本也写入同一文件并拥有 root 所有权导致其他脚本的权限问题。

一种方法是将命令放入,

crontab -u www-data -e

这工作正常,但我想在 root 用户下维护我所有的 cron 命令。

我尝试用 sudo 做同样的事情,但它以 root 作为所有者创建,这不是我想要的。

尝试添加 ` && chown -R www-data

终于找到解决这个问题的好方法了。

现在我在 linux 中使用 FACL 为在日志中创建的所有文件设置默认权限 directory.This 这样我就可以 运行 我在 root 中的所有 crons。 here is more on facl in linux

同样如问题所述,运行在 www-data 下执行 crons 导致了一些其他与日志记录相关的问题。

我使用下面的命令来设置 facl。

setfacl -m default:u:www-data:rw logs