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

时间:2018-01-24 10:26:11

标签: cron debian file-permissions

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

日志文件具有午夜轮换,并且在创建新文件时,它将以root所有者身份创建。如何确保所有权保留为www-data,因为其他一些脚本也会写入同一文件并且拥有root权限会导致权限问题其他脚本。

一种方法是将命令放入,

crontab -u www-data -e

这很好用,但我想在root用户下维护所有的cron命令。

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

最后为这个问题找到了一个很好的解决方案。

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

同样如上所述,在www-data下运行crons几乎没有引起其他与日志相关的问题。

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

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