
Я знаю, что это "плохая" идея, я знаю, что это небезопасно, я знаю. Я искал ответ в сети, но все, что я увидел, это нытье о том, что это нехорошо. Но мне нравится использовать 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 не блокировал это, и это работает. (да, я знаю, что он также копирует соль)