Linux

/etc/pam.d/password-auth 中的策略未執行

  • April 1, 2015

我更新了 login.defs 和 password-auth 以包含密碼的最小長度 (12),但是當我嘗試使用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:這是一個最小的安裝。

您必須檢查您的/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是特定於發行版的。由於沒有應用程序將自己標識為“system-auth”或“password-auth”,因此這些文件實際上從未被自己呼叫。相反,這些文件的內容通過“include”指令被拉入其他 PAM 配置文件。這樣,多個應用程序的通用設置可以儲存在一個文件中。

引用自:https://unix.stackexchange.com/questions/193844