См. Правку ниже для обходного пути и возможного объяснения
Согласно документации VMware (а также документации для pam_passwdqc) я должен иметь возможность редактировать параметр Security.PasswordQualityControl
, чтобы разрешить разная сложность паролей. Так, например, я бы попытался использовать следующую строку, чтобы разрешить пароль с 1 типом символа с минимальной длиной 20:
retry = 3 min = 20,16, disabled, 16,16
Проблема в том, что после Я вношу это изменение, я больше не могу изменить пароль для любого пользователя. При попытке изменить пароль я всегда получаю следующую ошибку:
Не удалось установить пароль. Возможно, ваш пароль не соответствует критериям сложности, установленным системой.
Кроме того, в журнале есть фактическая ошибка:
Failed - Произошла общая системная ошибка: passwd: Критическая ошибка - немедленное прерывание
Обратите внимание, что это НЕ стандартное предупреждение о сложности пароля. Обычное предупреждение выглядит примерно так: Слабый пароль: слишком короткий.
. Я ожидал, что в моей строке настроек допущена опечатка, но, внимательно изучив документацию, я убедился, что параметры верны.
Странно то, что я могу без проблем изменять последние 2 параметра (для паролей с 3 и 4 символами).Например, min = disabled, disabled, disabled, 4,4
подойдет и позволит мне использовать 4-символьные пароли. Но как только я пытаюсь изменить первые 2 параметра, я получаю критическую ошибку независимо от того, чей пароль я пытаюсь изменить, и независимо от того, отвечаю ли я требованиям сложности. Это как если бы изменение первых двух чисел что-то сломало.
Кто-нибудь знает, как я могу изменить этот параметр, не нарушая PAM?
РЕДАКТИРОВАТЬ: На данный момент я нашел обходной путь , но я считаю, что это поведение связано с ошибкой в pam_passwdqc
модуль.
На странице руководства упоминается следующее:
Каждое последующее число не должно быть больше предыдущего.
Похоже, что модуль считает значение «отключено» равным 0, поэтому в моем случае вышеуказанная проверка не выполняется. Поскольку в приведенной выше строке специально написано «числа», и кажется логичным иметь возможность отключить использование парольной фразы (3-е число) при включении остальных, поведение, описанное на странице руководства, несовместимо с поведением программы, и я считаю, что это ошибка.
Короче говоря, будет работать следующее:
min = disabled, 20,20,12,12
Но следующее не будет:
min = 30,20, disabled, 12,12
Этот вывод может быть ошибочным.
У меня были похожие проблемы, и я наконец обнаружил, что мои изменения в /etc/pam.d/passwd
были неправильными.
Правильно примененный и работающий пример для ESXi 6.x:
password requisite /lib/security/$ISA/pam_passwdqc.so retry=3 min=1,1,1,1,1
password sufficient /lib/security/$ISA/pam_unix.so use_authtok nullok shadow sha512
password required /lib/security/$ISA/pam_deny.so
Следующие настройки сработали для меня
$ cat /etc/pam.d/passwd
#%PAM-1.0
# Change only through host advanced option "Security.PasswordQualityControl".
password requisite /lib/security/$ISA/pam_passwdqc.so retry=3 min=9,7,7,7,7
password sufficient /lib/security/$ISA/pam_unix.so
use_authtok nullok shadow sha512 password required /lib/security/$ISA/pam_deny.so