/etc/pam.d/password-auth 中的策略未得到执行

/etc/pam.d/password-auth 中的策略未得到执行

我已经更新了login.defs和password-auth以包含密码的最小长度(12),但是当我尝试使用 更改用户的密码时,minlen 并没有被强制执行passwd

没有强制执行任何密码大小写策略。我可以输入“aaaa1234”作为有效但较弱且太短的密码。我还可以输入字典单词,例如“密码”。相同的密码可以重复使用。

总之,似乎没有任何设置/etc/pam.d/password-auth被识别。

我为以下命令输入的密码是blue1234

# passwd testy
Changing password for user testy.
New password: 
BAD PASSWORD: it is based on a dictionary word
BAD PASSWORD: is too simple
Retype new password: 
passwd: all authentication tokens updated successfully.

/var/log/secure这是通过上述操作登录的内容。这是该活动的唯一线路。

Apr  1 11:41:37 myserver passwd: pam_unix(passwd:chauthtok): password changed for testy

配置文件

# login.defs

# Password aging controls:
#
#       PASS_MAX_DAYS   Maximum number of days a password may be used.
#       PASS_MIN_DAYS   Minimum number of days allowed between password changes.
#       PASS_MIN_LEN     12
#       PASS_WARN_AGE   Number of days warning given before a password expires.
#
PASS_MAX_DAYS   30
PASS_MIN_DAYS   1
PASS_MIN_LEN     12
PASS_WARN_AGE   14

# /etc/pam.d/password-auth

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        required      pam_deny.so
auth        [default=die] pam_faillock.so authfail deny=3 unlock_time=604800 fail_interval=900
auth        required      pam_faillock.so authsucc deny=3 unlock_time=604800 fail_interval=900

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 minlen=12
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so

为什么不强制执行 pam 密码策略?

PS:这是最小安装。

答案1

您必须检查您的/etc/pam.d/passwd文件是否包含/etc/pam.d/password-auth或 ,/etc/pam.d/system-auth并对包含的文件进行必要的更改。

简而言之:
使用 PAM 的应用程序可以有一个以/etc/pam.d/.如果文件存在,则只要应用程序调用 PAM 身份验证函数,就会处理该文件中的规则。

类似 和 的文件/etc/pam.d/system-auth在很大程度上/etc/pam.d/password-auth是特定于发行版的。由于没有应用程序将自己标识为“系统身份验证”或“密码身份验证”,因此这些文件实际上永远不会自行调用。相反,这些文件的内容通过“include”指令被拉入其他 PAM 配置文件中。这样,多个应用程序的通用设置可以存储在单个文件中。

相关内容