Как изменить/отключить проверку сложности пароля при смене пароля?

Как изменить/отключить проверку сложности пароля при смене пароля?

Я знаю, что это "плохая" идея, я знаю, что это небезопасно, я знаю. Я искал ответ в сети, но все, что я увидел, это нытье о том, что это нехорошо. Но мне нравится использовать Linux, потому что он позволяет мне сделать систему, которую я хочу и люблю использовать. Конец вступления.

Я пытаюсь сменить пароль:

user:~% passwd
Changing password for user.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
You must choose a longer password

Если я попробую sudo passwd user, то смогу установить любой пароль, какой захочу, и мне не понадобятся проверки сложности пароля для passwd в моей системе.

Погуглив, я обнаружил, что должно бытьПАМмодуль pam_cracklib, который проверяет сложность пароля и его можно настроить. Но мои настройки пароля PAM не включают pam_cracklib:

% cat /etc/pam.d/passwd | grep '^[^#]'
@include common-password
% cat /etc/pam.d/common-password | grep '^[^#]'
password    [success=1 default=ignore]  pam_unix.so obscure sha512
password    requisite           pam_deny.so
password    required            pam_permit.so
password    optional    pam_gnome_keyring.so 

Думаю, pam_unix проводит этот тест... Упс... Ребята, как только я закончил писать это предложение, меня осенило, и man pam_unixя набрал в терминале нужные параметры для модуля pam_unix.

Я просто удалил option obscure и добавил minlen=1, и теперь я счастлив. Так что теперь у меня есть эта строка в /etc/pam.d/common-password:

password    [success=1 default=ignore]  pam_unix.so minlen=1 sha512

и я могу установить любой пароль.

Я решил сохранить этот пост для тех, кому также может понадобиться такое решение.

решение1

Хорошо, я отвечу на свой вопрос :)

Я обнаружил, что pam_unixмодуль выполняет проверку сложности пароля и его можно настроить.

man pam_unix:

   minlen=n
       Set a minimum password length of n characters. The default value is
       6. The maximum for DES crypt-based passwords is 8 characters.

   obscure
       Enable some extra checks on password strength. These checks are
       based on the "obscure" checks in the original shadow package. The
       behavior is similar to the pam_cracklib module, but for
       non-dictionary-based checks.

Решение:
Измените строку в pam_unixмодуле в /etc/pam.d/common-passwordфайле на:

password    [success=1 default=ignore]  pam_unix.so minlen=1 sha512

Позволяет установить любой пароль минимальной длиной 1 символ.

решение2

Если это происходит один раз, с помощью команды passwd от имени пользователя root вы можете установить простой пароль для пользователя, просто введя желаемое значение, а затем дважды введите пароль в ответ на запросы.

john@workpad:~$ sudo bash
[sudo] password for john: 
root@workpad:/home/john# passwd john
New password: 
Retype new password: 
passwd: password updated successfully
root@workpad:/home/john# exit
exit
john@workpad:~$ 

решение3

Откройте common-passwordфайл конфигурации для редактирования:

sudo -H gedit /etc/pam.d/common-password

Прокомментируйте эту строку, добавив #символ в начало, как показано:

#password   [success=2 default=ignore]  pam_unix.so obscure use_authtok try_first_pass sha512

Также закомментируйте эту строку, иначе при настройке пароля вам будет предложено ввести сочетание заглавных и строчных букв:

#password   requisite           pam_passwdqc.so enforce=everyone max=18 min=disabled,8,8,1,1 retry=2 similar=deny

Теперь просто добавьте эту строку в тот же файл:

password    [success=1 default=ignore]  pam_unix.so minlen=1 sha512

это должно сработать...

решение4

Я перепробовал ВСЕ методы на машине со странной и очень строгой установкой, используя устойчивый к манипуляциям PAM.

На этой машине ни один из вышеперечисленных трюков не помог изменить пароль локальной учетной записи (без домена Windows) на какое-то новое значение. Правила PAM всегда срабатывали, даже при использовании sudo passwd

Изменения в /etc/pam.d/common-password привели к полному сбою passwd из-за «ошибки манипуляции».

Мое решение этой проблемы состояло в том, чтобы установить пароль на другой машине, на которой у меня также есть доступ root, а затем скопировать/вставить хешированное значение из /etc/shadow с этой машины на другую, просто используя sudo vi /etc/shadow . Строгий PAM не блокировал это, и это работает. (да, я знаю, что он также копирует соль)

Связанный контент