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

Невозможно изменить пароль на ESXi 6.7 после изменения «Security.PasswordQualityControl»

См. Правку ниже для обходного пути и возможного объяснения

Согласно документации VMware (а также документации для pam_passwdqc) я должен иметь возможность редактировать Security.PasswordQualityControl настройка, позволяющая использовать пароли разной сложности. Так, например, я бы попытался использовать следующую строку, чтобы разрешить пароль с 1 типом символа с минимальной длиной 20:

retry=3 min=20,16,disabled,16,16

Проблема в том, что после того, как я внесу это изменение, я больше не могу изменить пароль для любого пользователя. При попытке изменить пароль я всегда получаю следующую ошибку:

Не удалось установить пароль. Возможно, ваш пароль не соответствует критериям сложности, установленным системой.

Кроме того, в журнале есть фактическая ошибка:

Failed - Произошла общая системная ошибка: passwd: критическая ошибка - немедленное прерывание

Обратите внимание, что это НЕ стандартное предупреждение о сложности пароля. Обычное предупреждение выглядит примерно так Weak password: too short.. Я ожидал, что у меня есть опечатка в моей строке настроек, но после изучения документации я убедился, что параметры верны.

Странная часть заключается в том, что я могу без проблем изменять последние 2 параметра (для паролей с 3 и 4 типами символов). Например min=disabled,disabled,disabled,4,4 это нормально и позволит мне использовать 4-символьные пароли. Но как только я пытаюсь изменить первые 2 параметра, я получаю критическую ошибку независимо от того, чей пароль я пытаюсь изменить, и независимо от того, отвечаю ли я требованиям сложности. Это как если бы изменение этих первых двух чисел что-то сломало.

Кто-нибудь знает, как я могу изменить этот параметр, не нарушая PAM?

РЕДАКТИРОВАТЬ: я нашел обходной путь на данный момент, но я считаю, что такое поведение связано с ошибкой в pam_passwdqc модуль.

На странице руководства упоминается следующее:

Каждое последующее число должно быть не больше предыдущего.

Похоже, что модуль считает, что значение «disabled» равно 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