为什么无密码帐户在PAM中过期?

时间:2017-09-08 15:06:54

标签: linux pam rhel7

我们已在PAM中设置帐户政策,以遵循RHEL7 STIG指南http://rhel7stig.readthedocs.io/en/latest/。我们有一些服务帐户,其密码为空,并使用SSH密钥登录。 60天后,服务帐户密码过期并被禁用。这不是我期望的无密码帐户的行为,我不认为密码过期将适用于无密码帐户。如何告诉PAM不要使无密码帐户过期?

在login.defs

PASS_MIN_DAYS     1
PASS_MAX_DAYS     60
PASS_WARN_AGE     7
FAIL_DELAY        4

在/ etc / default / useradd

INACTIVE=0

2 个答案:

答案 0 :(得分:1)

由于系统并不关心这些帐户是否有密码。您必须将PASS_MAX_DAYS设置为99999或者似乎适用于这些帐户。

答案 1 :(得分:1)

看起来我需要将这些帐户创建为系统帐户。来自useradd手册页......

  

系统用户将在/ etc / shadow - https://linux.die.net/man/8/useradd

中创建没有老化信息

示例命令。

useradd testuser --system

如果您正在使用Ansible,则可以在用户模块中指定系统。

- user:
    name: testuser
    group: testuser
    system: yes

结果在/ etc / shadow中可见。注意testuser没有密码最大年龄条目。

[root@localhost ~]# useradd testuser --system
[root@localhost ~]# grep testuser /etc/shadow
testuser:!!:17417::::::

[root@localhost ~]# grep ryan /etc/shadow
ryan:*:18976:1:60:7:0::