我在 Linux Ubunutu 中的所有 cron 作业都遇到了“身份验证失败”错误。
root@Test:~# tail -f /var/log/syslog | grep cron
Dec 11 16:38:01 Test cron[14861]: Authentication failure
Dec 11 16:38:01 Test cron[14861]: Authentication failure
Dec 11 16:38:09 Test cron[14957]: (CRON) INFO (pidfile fd = 3)
Dec 11 16:38:09 Test cron[14957]: (CRON) INFO (Skipping@reboot jobs -- not system startup)
Dec 11 16:39:01 Test cron[14957]: Authentication failure
我尝试了一切,但不想工作,我正在使用 LDAP。有人遇到同样的问题吗?
答案1
您能否检查用于在 /var/spool/cron/crontabs 中运行 cron 的用户的 cron 文件的权限和所有权?
另外,如果用户帐户被锁定?因此,请检查该用户的 /etc/passwd 文件条目。密码不应过期或设置密码过期天数。如果检查结果正常,您可能需要查看 /etc/cron.allow 和 /etc/cron.deny 文件是否正常并且不包含正在运行 cron 的用户。看到你的回复,我相信它的根用户,我希望允许和拒绝文件没问题。
接下来,您需要检查 /etc/security/access.conf 并查看添加以下条目是否对您有帮助
+ALL:cron crond
但请确保您已备份 access.conf 并且该条目已添加到 BEFORE/ABOVE -:ALL:ALL 之前
现在,如果这也没有帮助,那么您需要检查您在系统中配置的身份验证模块,kerberos、pan、ldap,无论哪一个。我建议您完成上述练习并让我们进一步了解。
答案2
检查用于在 /var/spool/cron/crontabs 中运行 cron 的用户的 cron 文件的所有权。
-rw------- 1 root root 338 Dec 8 12:49 root
答案3
我怀疑这是由于删除了一个用户而导致的,并且当时他们的 crontab 条目没有被删除。本质上,crontab 无法以用户身份运行命令,因为该用户不存在 - 所以也请检查一下!
答案4
我发现的一件事是何时pam_tally2
设置的。在journalctl -u cron
我看到
May 26 08:12:01 PublicProxy CRON[16303]: pam_tally2(cron:setcred): bad number supplied: unlock_time=never
这是非工作行:
auth required pam_tally2.so silent even_deny_root deny=3 unlock_time=never
这是修复后的样子:
auth required pam_tally2.so silent even_deny_root deny=3 unlock_time=0