以www数据的形式运行crontab以创建一个以www数据为所有者的文件

以www数据的形式运行crontab以创建一个以www数据为所有者的文件,cron,debian,file-permissions,Cron,Debian,File Permissions,我想每5分钟运行一个crontab命令,执行py脚本。 py脚本inturn在/var/www/logs/内生成一个午夜旋转的日志文件。logs dir拥有777权限 日志文件具有午夜轮换,当创建新文件时,它将创建为根所有者。如何确保所有权保持为www数据,因为某些其他脚本也写入同一文件,并且拥有根所有者会导致其他脚本的权限问题 一种方法是把命令放进去 crontab-u www-data-e 这很好,但我想在root用户下维护所有cron命令 我试着用sudo做同样的事情,但是它用root创建

我想每5分钟运行一个crontab命令,执行py脚本。 py脚本inturn在/var/www/logs/内生成一个午夜旋转的日志文件。logs dir拥有777权限

日志文件具有午夜轮换,当创建新文件时,它将创建为根所有者。如何确保所有权保持为www数据,因为某些其他脚本也写入同一文件,并且拥有根所有者会导致其他脚本的权限问题

一种方法是把命令放进去

crontab-u www-data-e

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


我试着用sudo做同样的事情,但是它用root创建了一个所有者,这不是我想要的。

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

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

现在,我在linux中使用FACL为日志目录中创建的所有文件设置默认权限。这样,我可以在root中运行我的所有cron。

正如前面提到的,在www数据下运行cron几乎不会引起其他与日志记录相关的问题

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

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

我举了一个粗略的例子。对不起,我已经重新表述了我的问题。不太确定。可能您以根用户身份运行python脚本导致日志文件具有根所有者。是的…py脚本由上述根用户cron运行。您可以使用
os.chown()
在python中,或者以www数据用户的身份运行脚本,或者创建另一个脚本,在脚本中处理文件。在脚本中管理此脚本对我来说不合适,因为在其他平台上,同样的脚本必须能够正常工作,而不作任何更改。