openbmc / bmcweb

A do everything Redfish, KVM, GUI, and DBus webserver for OpenBMC
Apache License 2.0
156 stars 131 forks source link

PAM authentication password failed #288

Closed lxwinspur closed 2 weeks ago

lxwinspur commented 2 weeks ago

When password complexity checking is enabled and pwquality.conf is configured as follows:

root@fp5280g3:~# cat /etc/security/pwquality.conf 
enforce_for_root
minlen=8
difok=0
lcredit=0
ocredit=0
dcredit=0
ucredit=0
usercheck=1
dictcheck=1
maxsequence=0

and The common-password configuration is as follows:

root@fp5280g3:~# cat /etc/pam.d/common-password 
#
# /etc/pam.d/common-password - password-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define the services to be
# used to change user passwords.  The default is pam_unix.

# Explanation of pam_unix options:
#
# The "sha512" option enables salted SHA512 passwords.  Without this option,
# the default is Unix crypt.  Prior releases used the option "md5".
#
# See the pam_unix manpage for other options.

# here are the per-package modules (the "Primary" block)
password    [success=ok default=die]    pam_pwquality.so debug
password    [success=ok default=die]    pam_ipmicheck.so spec_grp_name=ipmi use_authtok
password    [success=ok ignore=ignore default=die]  pam_pwhistory.so debug use_authtok
password    [success=ok default=die]    pam_unix.so sha512 use_authtok
password    [success=1 default=die]     pam_ipmisave.so spec_grp_name=ipmi spec_pass_file=/etc/ipmi_pass key_file=/etc/key_file
# here's the fallback if no module succeeds
password    requisite           pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
password    required            pam_permit.so
# and here are more per-package modules (the "Additional" block)

Use IEISystem@123456 as password to create a test user, and the system prompts that the password setting failed. Does everyone know why this one is? https://github.com/openbmc/bmcweb/blob/master/include/pam_authenticate.hpp#L17

lxwinspur commented 2 weeks ago

Disable dictcheck(dictcheck=0) in pwquality.conf file, user IEISystem@123456 as a password to create a test user works fine. close this issue.