Używam Fedory 19. Domyślnie jest to ustawione z pam, aby wyłączać złe hasła, takie jak „hasło”. To jest dobre. Próba zmiany tego ustawienia domyślnego jest irytująca. To jest pole do testowania rzeczy wewnętrznych, niepodłączonych do Internetu, ani żadnej innej maszyny. Złe hasła ułatwiają proces testowania. Alternatywnie, jak do diabła w ogóle zmieniasz wymagania dotyczące hasła?
system-auth
man pam_cracklib
ma kilka świetnych przykładów ustawiania różnych wymagań dotyczących hasła. Otwieram więc /etc/pam.d/system-auth
, gdzie widać linie takie jak:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
password requisite pam_pwquality.so try_first_pass retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
* headdesk *. Z mojego doświadczenia wynika, że takie ostrzeżenia oznaczają, że twoje zmiany są usuwane za każdym razem, gdy menedżer pakietów jest uruchamiany i / lub losowo.
authconfig
Więc ... authconfig
to kolejny krok. Szukam wszystkich plików o nazwie „authconfig”. /etc/sysconfig/authconfig
wygląda obiecująco. I nie ma ostrzeżenia u góry przed zniszczeniem moich zmian pod wpływem kaprysu. Znajduję tę linię USEPWQUALITY=yes
i zmieniam ją. Teraz biegam:
# authconfig --test
<snip>
pam_pwquality is enabled (try_first_pass retry=3 authtok_type=)
<snip>
wtf. Przeczytajmy man authconfig
więc trochę bliżej. O! Wygląda na to, że ten plik nie został odczytany przez authconfig, został zmieniony . Więc .... jak skonfigurować authconfig? Instrukcja sugeruje system-config-authentication
, którą zainstalować i nie zapewnia niczego przypominającego pole wyboru, aby wyłączyć pam_pwquality. Następną sugestią z podręcznika są opcje wiersza poleceń. Świetny! Uwielbiam narzędzia wiersza poleceń. Tylko żadna z udokumentowanych opcji wiersza poleceń nie wyłącza pam_pwquality.
pwquality.conf
Dzięki odpowiedź Aarona, dowiedziałem się, że kilka lat temu fedora zdecydował się /etc/security/pwquality.conf
na miejsce, aby skonfigurować wymagań jakościowych hasło. Niestety, jak udokumentowano w pliku i w man 5 pwquality.conf
nim, (1) nie ma sposobu na wyłączenie sprawdzania słownika i (2) nie można ustawić dozwolonej długości hasła poniżej szóstej.
yum remove pam
usuwa, o ile wiem, do czasu przewinięcia wszystkich zależnych pakietów, wszystko . W tym mniam i systemd. Również wyłączenie pam jest jak młot, kiedy myślę, że chcę po prostu użyć papieru ściernego.Odpowiedzi:
Po pobieżnym spojrzeniu na kod źródłowy
/usr/sbin/authconfig
i/usr/share/authconfig/authinfo.py
:authconfig --help
/etc/security/pwquality.conf
ustawienia takie jak minimalna długość hasła), z wyjątkiem samej pwquality. IMHO, to jest błąd i należy go zgłosić.Z
authinfo.py
linii 2489 i 2156:Pierwsze
readSysconfig
czyta/etc/sysconfig/authconfig
; to, co tam umieścisz, zostanie zastąpionereadPAM
tym, co jest/etc/pam.d/*
(szczególniepassword_auth*
isystem_auth*
):TL; DR : w przypadku opcji, które nie są nadpisywane (lub nie mogą być), ustawienia są pobierane z bieżącej konfiguracji, w tym pliki oznaczone automatycznie . Aby to działało, edytuj
/etc/sysconfig/authconfig
i usuń linie pokazane przezgrep -E pwq\|crack /etc/pam.d/*
Edycja : Istnieje drugi błąd, który sprawia, że powyższe porady nadal nie działają: linia 2248:
Musisz wybrać jedno z dwóch wdrożeń kontroli jakości, albo jedno zostanie dla Ciebie wybrane! W połączeniu z pierwszym błędem uniemożliwia to wyłączenie.
źródło
Możesz przejąć kontrolę nad
system-auth
plikiem. Utwórz nowy plik (możesz zacząć od skopiowaniasystem-auth-ac
) i zmieńsystem-auth
dowiązanie symboliczne, aby wskazywało na nowy plik.To sprawia, że Twoim obowiązkiem jest zaktualizować tę część konfiguracji PAM, ponieważ authconfig nie będzie już dotykać dowiązania symbolicznego ani pliku, na który wskazuje. Jednak authconfig nadal aktualizuje
system-auth-ac
plik, więc możesz nadal używać go jako odniesienia, jeśli zajdzie taka potrzeba. Przy odrobinie sprytu możesz nawet znaleźćinclude
to w swojej lokalnej kopii, ale jak to zrobić, wykracza poza zakres tego pytania.Powinieneś także sprawdzić, czy istnieją inne dowiązania symboliczne, takie jak
password-auth
. Może być konieczne zapewnienie im takiego samego traktowania.Z strony
authconfig(8)
man podFiles
:Więc jeśli
system-auth
jest plikiem, to authconfig zmienia go na link dosystem-auth-ac
. Ale jeślisystem-auth
jest dowiązaniem symbolicznym, to authconfig pozostawia go w spokoju.źródło
Wygląda na konfigurowalny
/etc/security/pwquality.conf
Źródło: https://fedoraproject.org/wiki/Features/PasswordQualityChecking
źródło
pwquality.conf
nie obsługuje wyłączania sprawdzania słownika ani sprawdzania długości hasła.authconfig --updateall
resetuje pliki. Jestem głęboko zakłopotany tą odpowiedzią, ponieważ jest ona sprzeczna z zachowaniem, które obserwuję.USEPWQUALITY=no
i / lubUSECRACKLIB=no
nie rozwiązuje mojego problemu, nawet przed uruchomieniem authconfig.Nadal możesz zmienić z wiersza poleceń. Otrzymasz ostrzeżenie, ale pozwoli ci ustawić hasło, które jest zbyt krótkie, a także takie, które nie spełnia reguł złożoności.
źródło
passwd <username>
komendę jako root (zsudo passwd <username>
lub po rootowaniusu -
terminala.passwd
jako root zignoruje zasady haseł. Jeśli musisz tylko raz ustawić i zapomnieć, to zadziała. Jeśli próbujesz to ustawić, aby każdy użytkownik mógł dowolnie zmieniać hasła, potrzebujesz innego rozwiązania.passwd
bez fd przez pam. Niewiele ma wspólnego z faktycznym pytaniem, ale sprawia, że twierdzenie w tej „odpowiedzi” jest prawdziwe.Właśnie znalazłem to pytanie w oparciu o podobne wyszukiwanie i myślę, że mam dla ciebie odpowiedź.
Fedora tworzy dowiązania symboliczne do plików generowanych przez authconfig. to znaczy.
system-auth
linki dosystem-auth-ac
. Jeśli utworzyszsystem-auth
własny plik, teoretycznie wszelkie przyszłe zmiany dokonane przezauth-config
będą nadal aktualizowane,system-auth-ac
ale zmodyfikowane pliki pozostaną niezmienione.W rzeczywistości jest dość elegancki, ale odkryłem go tylko, zastanawiając się, co
*-ac
zrobiły pliki.źródło
authconfig
(np.authconfig --updateall
) Spowoduje usunięcie pliku i dowiązanie symboliczne z powrotem do-ac
pliku.