Cronjob 为用户 www-data - 帐户当前不可用

Cronjob 为用户 www-data - 帐户当前不可用

如果我跑,su www-data -c /usr/bin/php /ho....我会

此帐户目前不可用。所以我猜我的 cronjob 永远不会起作用。

我怎样才能让它正常工作而不破坏安全性?

答案1

您的问题的核心可能是“www-data”有一个 /usr/sbin/nologin 的 shell - 并且在传递运行之前作为登录的一部分执行。

尝试如下操作以使该命令以 root 身份运行:

  su www-data -s /bin/bash -c /usr/bin/php /ho....

当然,crontab 可能没有这个限制。我在我的 ubuntu 16.04 机器上用一个等效用户做了一个快速测试,只需将 cron 条目添加到 /etc/crontab 即可,无需调用 su 或关心 shell。该行可能看起来像

 * * * * *   www-data  /usr/bin/php /ho....

相关内容