Сегодня я пытался изменить свой пароль на наших лабораторных серверах (SUSE) с помощью passwd и получил сообщение об ошибке, что мой пароль был «основан на словарном слове», чего на самом деле не было. Я хотел бы изменить и адаптировать эти ограничения и ограничения на установку пароля (я администратор), и мне интересно, как это сделать?
Обновление: нашел эту строку в моем /etc/security/pam_pwcheck.conf:
password: nullok use_cracklib
Есть ли способ заставить его просто предупредить об этом, а не помешать мне установить пароль?
Обновление 2: также нашел это в /etc/pam.d/common-password:
password required pam_pwcheck.so nullok
password required pam_unix2.so nullok use_authtok
Если я удалю параметр use_cracklib, я сниму проверку. Я пробовал добавить:
password optional pam_cracklib.so
но это не помогло. Я отключил функцию cracklib, но теперь даже не получаю предупреждения.
Обновление 3:
Пробовал это (/etc/pam.d/common-password):
password optional pam_pwcheck.so nullok
password required pam_unix2.so nullok use_authtok
и (/etc/security/pam_pwcheck.conf):
password: use_cracklib nullok
Это, правда, не дает желаемого эффекта, игнорировать предупреждение все равно не могу.
С помощью password optional pam_cracklib.so
не поможет вам. Вам нужно поставить password optional pam_pwcheck.so
там, так что это действительно имеет какой-то эффект. Если за ним следует строка с pam_unix.so
, все должно получиться так, как вы хотели.
Ну, это зависит от конфигурации аутентификации системы. Какую версию SuSE вы используете?
В моем SuSE (10.1) аутентификация выполняется через PAM, как практически во всех современных дистрибутивах Linux. Там аутентификация настраивается через файлы в /etc/pam.d/.
На каждую «службу» приходится один файл. Вас интересует /etc/pam.d/passwd, который в моей системе ссылается (включая общий пароль) на модуль PAM pam_pwcheck
. Это модуль, обеспечивающий соблюдение правил pw. Видеть man pam_pwcheck
о том, как его настроить.
Если у вас другая конфигурация PAM, вы можете использовать другой механизм, но основная идея та же.
На странице руководства passwd:
Then, the password is tested for complexity. As a general guideline, passwords should consist of 6 to 8 characters including one or more characters from each of the following sets: · lower case alphabetics · digits 0 thru 9 · punctuation marks
В Sun Solaris поведение можно контролировать через / etc / defaults / passwd [1].
Кроме того, в моей системе Debian есть файл /etc/login.defs, который может иметь параметр PASS_MIN_LEN, хотя в руководстве для файла login.defs говорится, что он больше не используется passwd и указывает на /etc/pam.d/passwd.
Я не знаю, как настроить такое поведение через /etc/pam.d/passwd.