Назад | Перейти на главную страницу

Как отключить проверку словаря паролей в Centos 7-1

Все, что я нахожу в Интернете, упоминает комментарий к 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.* файлы, если вы хотите вернуться.