Information
The pwquality dictcheck option sets whether to check for the words from the cracklib dictionary.
If the operating system allows the user to select passwords based on dictionary words, this increases the chances of password compromise by increasing the opportunity for successful guesses, and brute-force attacks.
Solution
Edit any file ending inconf in the /etc/security/pwquality.conf.d/ directory and/or the file /etc/security/pwquality.conf and comment out or remove any instance of dictcheck = 0 :
Example:
# sed -ri 's/^s*dictchecks*=/# &/' /etc/security/pwquality.conf /etc/security/pwquality.conf.d/*.conf
Run the following script to remove setting dictcheck on the pam_pwquality.so module in the PAM files:
#!/usr/bin/env bash
{
for l_pam_file in system-auth password-auth; do
l_authselect_file="/etc/authselect/$(head -1 /etc/authselect/authselect.conf | grep 'custom/')/$l_pam_file"
sed -ri 's/(^s*passwords+(requisite|required|sufficient)s+pam_pwquality.so.*)(s+dictchecks*=s*S+)(.*$)/14/' "$l_authselect_file"
done
authselect apply-changes
}