centos 7 crond密码已过期

centos 7 crond密码已过期,centos,root,pam,Centos,Root,Pam,我是CentOS的新手,每当我尝试重新启动puppet服务(pe puppetdb、pe puppetserver等)时,我都会遇到以下错误: Jun 23 04:03:01 abc.xyz.com crond[12117]: pam_unix(crond:account): expired password for user root (root enforced) Jun 23 04:03:01 abc.xyz.com crond[12117]: (root) PAM ERROR (

我是CentOS的新手,每当我尝试重新启动puppet服务(pe puppetdb、pe puppetserver等)时,我都会遇到以下错误:

Jun 23 04:03:01 abc.xyz.com crond[12117]: pam_unix(crond:account): expired     password for user root (root enforced)
Jun 23 04:03:01 abc.xyz.com crond[12117]: (root) PAM ERROR (Authentication token is no longer valid; new one required)
Jun 23 04:03:01 abc.xyz.com crond[12117]: (root) FAILED to authorize user with PAM (Authentication token is no longer valid; new one required)
以下是/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-auth
我认为这里需要做两件事:

使用passwd命令重置crond用户的密码 确保密码永不过期 我在这里找到了一个解决方案,但因为这篇文章已经发表6年了,所以我想知道是否有其他方法可以解决这个问题

请告知

编辑-我甚至尝试更改crond user的密码,但出现以下错误:

[root@abc ~]# chage -l crond
chage: user 'crond' does not exist in /etc/passwd
[root@abc ~]# chage -M 99999 -m 99999 crond
chage: user 'crond' does not exist in /etc/passwd
Edit2-在/etc/pam.d/crond中添加了以下行,并启动了puppetdb服务:

account    sufficient pam_succeed_if.so uid = 0
服务仍然没有启动,并出现以下错误journalctl-xe:

-- Unit session-11.scope has begun starting up.
Jun 23 10:28:01 abc.xyz.com CROND[30598]: (root) CMD (/var/awslogs/bin/awslogs-nanny.sh > /dev/null 2>&1)
Jun 23 10:28:02 abc.xyz.com systemd[1]: Removed slice user-0.slice.
-- Subject: Unit user-0.slice has finished shutting down
-- Defined-By: systemd
--
-- Unit user-0.slice has finished shutting down.
Jun 23 10:28:02 abc.xyz.com systemd[1]: Stopping user-0.slice.
-- Subject: Unit user-0.slice has begun shutting down
-- Defined-By: systemd
--
-- Unit user-0.slice has begun shutting down.
Jun 23 10:28:05 abc.xyz.com amazon-ssm-agent[845]: 2017-06-23 10:28:05 ERROR      [instanceID=i-0a9865085e27f6862] [MessageProcessor] [Association] error when calling AWS APIs. error details - AccessDeniedException: User: arn:aws:sts::045981373300:assumed-role/ServerLabServer/i-0a9865085e27f6862 is not authorized to perform: ssm:ListInstanceAssociations on resource:     arn:aws:ec2:ap-southeast-1:045981373300:instance/i-0a9865085e27f6862

这个问题在初始错误中得到了很好的描述。crond使用的root用户的密码已过期


使用sudo chage-l root检查密码的状态。如果密码已过期,请使用sudo passwd进行更改。您还可以使用sudo chage root更改过期设置。

感谢@mrg2k8解决了此问题。我最初尝试过更改密码,但没有使用sudo。