解决crontab报错Authentication token is no longer valid

2016年9月21日 发表评论 阅读评论

一、现象

一台主机大部分用户使用crontab是正常的,其中一个用户使用时报错,具体内容如下:

[oracle@www.361way.com ~]$ crontab -e
Authentication token is no longer valid; new one required
You (oracle) are not allowed to access to (crontab) because of pam configuration.

二、解决

由于上面报错中有提到pam,先看了这台的pam配置,未发现针对个别用户的配置,/etc/crontab.deny中也未指定不允许的用户。因为大部分用户是正常的,所以看了下该用户的环境变量,但未也发现异常。strace跟踪的几个调用的地方也均正常。最后又回到pam的调用,发现/etc/pam.d/crond 调用如下:

account    required   pam_access.so
account    include    password-auth
session    required   pam_loginuid.so
session    include    password-auth
auth       include    password-aut

可以发现其上面有用户登陆验证,即验证不通过时,就无法使用。所以先用chage命令查看了下用户的密码信息:

chage -l oracle
Last password change                                    : Jun 29, 2016
Password expires                                        : Sep 27, 2016
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 90
Number of days of warning before password expires       : 7

发现帐号密码已经过期。使用chage -M 99999 oracle ,使用户密码永不过期。再重新使用oracle创建crontab,发现一切正常了。当然除了将密码改为永不过期,也可以通过临时修改密码解决,不过解决过后,90天之内必须还要修改密码。




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: Linux/unix/mac 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.