Linux
/etc/pam.d/password-auth 中的策略未執行
我更新了 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 配置文件。這樣,多個應用程序的通用設置可以儲存在一個文件中。