Jak zmienić / wyłączyć test złożoności hasła podczas zmiany hasła?

48

Wiem, że to „zły” pomysł, wiem, że nie jest bezpieczny, wiem. Szukałem odpowiedzi w sieci i wszystko, co widziałem, to marudzenie, że to nie jest dobre. Ale lubię używać Linuksa, ponieważ pozwala mi tworzyć system, którego chcę i lubię używać. Koniec wstępu.

Próbuję zmienić hasło:

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

Jeśli spróbuję sudo passwd ruslan, mogę ustawić dowolne hasło, więc nie potrzebuję sprawdzania złożoności hasła dla passwd w moim systemie.

Po googlowaniu odkryłem, że powinien istnieć moduł PAM pam_cracklib, który testuje hasło pod kątem złożoności i można go skonfigurować. Ale moje ustawienia hasła PAM nie obejmują 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 

Myślę, że pam_unix wykonuje ten test ... Ups ... Chłopaki, w chwili, gdy skończyłem pisać to zdanie, mam oświecenie i wpisałem man pam_unixterminal, w którym znalazłem potrzebne opcje dla modułu pam_unix.

Właśnie usunąłem opcję niejasną i dodałem minlen = 1 i teraz jestem szczęśliwy. Więc teraz mam tę linię w /etc/pam.d/common-password:

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

i mogę ustawić dowolne hasło.

Postanowiłem zachować ten post dla osób, które również mogą potrzebować tego rozwiązania. Przepraszam i dziękuję.

rslnx
źródło
Nie mogę odpowiedzieć na własne pytanie przez 8 godzin po zadaniu, poczekam :)
rslnx
Chciałem po prostu zmienić mój pwd na 123. Nie mogłem tego zrobić z passwd. Próbowałem „sudo passwd <nazwa_użytkownika>” i działało to jak urok. Nie potrzebowałem reszty mumbo-jumbo. Dzięki za tę część! :)
zeFree
@zeFree, kluczowym punktem mojego rozwiązania jest umożliwienie każdemu użytkownikowi (nie posiadającemu uprawnień sudo) używania prostych haseł
rslnx
1
Świetne wprowadzenie. Mam laptopa z systemem Windows, który spędza 50% cykli procesora, chroniąc mnie przed wirusami. Zgadnij co? Nie potrzebujesz żadnych wirusów. Komputer jest już bezwartościowy. Więc .. linux pozwala nam robić, co chcemy. Jestem za firewallem, a komputer nie opuszcza mojego domu. Krótkie hasło? Tak proszę.
javadba,
@rslnx Myślę, że kiedy publikujesz swoje pytanie, daje ono możliwość natychmiastowego udzielenia odpowiedzi; Myślę, że 8-godzinne opóźnienie jest dostępne tylko wtedy, gdy nie opublikujesz pary Q / A w tym samym czasie
jrh

Odpowiedzi:

53

Ok, odpowiem na moje pytanie :)

Odkryłem, że pam_unixmoduł wykonuje kontrolę złożoności hasła i można go skonfigurować.

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.

Rozwiązanie:
Zmień wiersz w pam_unixmodule w /etc/pam.d/common-passwordpliku, aby:

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

Pozwala ustawić dowolne hasło o minimalnej długości 1.

rslnx
źródło
Powiązane szczegóły dotyczące złożoności hasła: askubuntu.com/questions/244115/…
Kevin Bowen
11

Jeśli jest to jednorazowy przypadek, używając polecenia passwd jako root, możesz ustawić proste hasło dla użytkownika, po prostu wprowadzając żądaną wartość.

sudo su && passwd username

a następnie dwukrotnie wprowadź hasło po wyświetleniu monitu.

sweetfa
źródło
1
Ma na myśli, że sudo su && passwd usernamewtedy Linux pozwoli ci użyć dowolnego hasła, które chcesz.
użytkownik
7

Otwórz plik konfiguracji wspólnego hasła do edycji

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

Skomentuj ten wiersz:

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

Skomentuj również ten wiersz, w przeciwnym razie ustawienie hasła poprosi o podanie kombinacji wielkich / małych liter:

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

teraz po prostu dodaj tę linię do tego samego pliku:

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

to powinno to zrobić ...

rptr87
źródło
Do Twojej wiadomości, w mojej domyślnej instalacji serwera 14.04 nie ma wiersza pam_passwdqc.so. Może ktoś (administrator?) Celowo go dodał? ;)
Tomofumi,