root cron 作业不起作用(18.04 LTS 服务器)

root cron 作业不起作用(18.04 LTS 服务器)

作为 root,我运行了三个后台进程

dd if=/dev/urandom of=/dev/null &
dd if=/dev/urandom of=/dev/null &
dd if=/dev/urandom of=/dev/null &

以 root 身份编辑 crontab 并设置一项任务来终止每分钟由 root 运行的所有 dd 进程

crontab -e 

* * * * * pkill -u root dd 

但是当我使用顶部 监控进程时 dd 进程不会被终止。为什么?

来自 /var/log/syslog 的消息:

Dec  9 12:33:01 champion CRON[3395]: Authentication failure
Dec  9 12:33:29 champion crontab[3383]: (root) END EDIT (root)
Dec  9 12:34:01 champion cron[1432]: Authentication failure
Dec  9 12:34:01 champion CRON[3398]: Authentication failure

尝试了这些建议,但没有帮助:

  1. 使用以下命令调用 crontab:

    crontab -e -u 根

  2. 确保 cronjob 文件末尾有一个空行,这意味着每一行都以换行符结尾。

答案1

根据以下诊断输出pwck -r

no matching password file entry in /etc/shadow add user 'root' in /etc/shadow?

您可以看到问题与此处描述的相同:

您可以通过pwck再次运行来修复此问题,这次以读写模式运行

sudo pwck

并接受建议的操作,为用户 root 添加适当的影子文件条目。

答案2

您是否确定以 root 身份编写 crontab?

sudo crontab -e

非 root 帐户无法终止 root 拥有的进程。

相关内容