Все, что я нахожу в Интернете, упоминает комментарий к cracklib ... но его нет в моем файле system-auth.
Я хотел бы отключить проверку словаря, которую CentOS выполняет, когда пользователь меняет свой пароль.
Это мой файл системной аутентификации:
#%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_fprintd.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account required pam_permit.so
password requisite pam_pwquality.so try_first_pass local_users_only retr$
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_a$
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet$
session required pam_unix.so
С серьезным предупреждением, что вы не должны пытаться отключить это для начала:
Проверка словаря является обрабатывается Cracklib через pam_pwquality, который вы должны были видеть в /etc/pam.d/system-auth
файл.
На странице руководства для текущей версии pam_pwquality предлагается опция отключения проверки словаря:
dictcheck=N
If nonzero, check whether the password (with possible
modifications) matches a word in a dictionary. Currently the
dictionary check is performed using the cracklib library. The
default is 1 which means that this check is enabled.
На странице руководства также указано, что вы можете добавить это в /etc/security/pwquality.conf
или как вариант в /etc/pam.d/system-auth
(который может быть перезаписан системными инструментами, поэтому по возможности не меняйте его).
К сожалению, версия pam_pwquality, поставляемая Red Hat в EL 7, не поддерживает dictcheck
вариант. Итак, ваше единственное реальное решение - вообще не использовать pam_pwquality. Обратите внимание, что комментирование этого также отключит все Другой проверки, которые он выполняет, например минимальную длину пароля и сложность символа.
Лучшее решение, которое я нашел для этого, - создать новый пустой cracklib
Словарь. В dictcheck = 0
вариант, похоже, не работает на CentOS 7.
По умолчанию cracklib
словарь находится под /usr/share/cracklib/
. Создайте новый пустой файл слов и создайте из него словарь:
touch /usr/share/words
create-cracklib-dict /usr/share/words
ВНИМАНИЕ: это перезапишет ваш словарь по умолчанию, поэтому обязательно сделайте резервную копию /usr/share/cracklib/pw_dict.*
файлы, если вы хотите вернуться.