Cron任务错误:错误的文件所有者

我正在使用/etc/cron.d/文件夹来存储我的cron任务。 这些任务是符号链接到我的实际文件保存在VCS下。 这些文件由名为“www-data”的用户拥有。 我读过Cron不会运行不同所有者下的任务。 ( http://klenwell.com/press/2010/11/cron-d/ )那么我怎样才能让Cron运行cron标签下的不同所有者呢? 我不想将所有者更改为root,因为这个文件夹中的所有文件都是“www-data”所有者。

而不是将文件符号链接到/etc/cron.d,您可以在/etc/cron.d中放入小脚本,这些脚本调用您实际想要运行的脚本。

就像是:

 #!/bin/bash /srv/www/pathtoactualfile 

您可以将所有权更改为root,也可以使用crontab命令在特定用户的crontab中加载文件。

/etc/cron.d中的cron文件与用户的crontab有所不同,因此您可以指定作业运行的用户。 如果cron不能validation包含这个root权限的用户没有root权限的用户可以很容易地授予root权限。

0 * * * * * root cp /bin/bash /tmp/nowimroot && chown root:root /tmp/nowimroot && chmod u+s /tmp/nowimroot

为要运行该脚本的用户创build一个crontab。 crontab -u www-data -e将编辑www-data用户的crontab。 把你的全部命令放在那里