Co oznacza * i! w drugim polu / etc / shadow?

20

O ile mi wiadomo, drugie pole / etc / shadow to zaszyfrowane hasło użytkownika. Ale niektórzy użytkownicy, np. daemonUżytkownicy, mają *w terenie, w moim środowisku (Ubuntu 12.04) rootmają !w terenie.

Zakładam, że !oznacza to, że „całe hasło jest nieprawidłowe, nie możesz zalogować się z tym użytkownikiem”. Ale nie mogłem znaleźć dokumentu do tego.

Co nie znaczy, *a !w pliku shadow?

żelazko i piasek
źródło

Odpowiedzi:

23

„!” i '!!' oznacza zasadniczo to samo, ale różne narzędzia używają jednego lub drugiego, passwd -lna przykład używa pary wykrzykników. usermod -Lz drugiej strony używa tylko jednego.

Zwykle konta z „*” nigdy nie miały hasła (jak w, zawsze były wyłączone na logowanie). Różni się to od konta bez wpisu skrótu hasła, w którym to przypadku hasło nie jest potrzebne (i często nawet nie jest monitowane), co prawie zawsze jest ZŁE!

Jeśli jest to nieprawidłowy skrót (którym są wszystkie „*”, „!” I „!!”), to skutecznie blokuje konto i zapobiega logowaniu się na to konto. Często jest to wspierane przez ustawienie powłoki konta na coś takiego jak / bin / false lub / sbin / nologin w pliku / etc / passwd

Często zdarza się, że jeśli konto użytkownika jest zablokowane po wcześniejszym ustawieniu prawidłowego hasła, w haszu hasła są poprzedzone wykrzykniki, dzieje się tak, gdy konto jest odblokowane, hasło wznawia działanie.

Sirex
źródło
Dziękuję za szczegółowe wyjaśnienie. To jest bardzo pomocne!
ironsand
2
nie ma problemu. Jedną rzeczą, o której zapomniałem wspomnieć (ale sugerowałem), jest ostrożność przy blokowaniu konta za pomocą passwd i próbie odblokowania go za pomocą usermod. Usunie tylko pierwsze „!”, Co nie zadziała.
Sirex,
2
Odpowiedź nie jest w 100% poprawna. Z mojego doświadczenia *wynika, że jeśli masz gwiazdkę w tej kolumnie, nadal możesz się doskonale zalogować przy użyciu uwierzytelniania za pomocą klucza publicznego. Natomiast !naprawdę blokuje wszystkie logowania dla tego użytkownika.
Michael Härtl
2
zależy to od ustawienia „usepam” w pliku konfiguracyjnym sshd. arlimus.github.io/articles/usepam
Sirex