当我尝试以非 root 用户“coins”身份访问我的 crontab 时,遇到了权限问题,如以下提及 pam 配置的错误消息所示:
[coins@COINS-TEST ~]$ crontab -l
Authentication service cannot retrieve authentication info You (coins) are not allowed to access to (crontab) because of pam configuration.
解决此 crontab 访问问题最常见的方法是什么?
答案1
您需要在登录访问控制表文件中允许用户使用 cron。/etc/security/access.conf
使用以下条目,它将允许 coins 用户运行 cron 作业:
# Allow the coins user to run cron jobs
+: coins : cron crond :0
确保它位于最后一个条目之上:
# Deny all other users access by any means.
-: ALL : ALL
因为此条目拒绝(-
)来自所有来源的所有其他用户对文件中先前未提及的访问。
另请注意
已过期的帐户会收到与不允许的帐户相同的错误消息。
请检查被拒绝的帐户是否已过期:
chage -l accountname
答案2
您可以检查一下这里有什么:
/etc/cron.allow
还要查看 selinux 是否正在运行并导致问题。建议查看 /var/log/messages 或 syslog。
答案3
如果你有 sudo 访问权限,你可以使用以下方法解决此问题:
$ sudo crontab -u `whoami` -l
对于上述问题的永久解决方案,请在您的.bashrc
:中创建一个别名
alias crontab='sudo crontab -u `whoami`'
添加别名后,打开新终端并尝试再次运行 crontab 命令:
$ crontab -l