Jak sprawdzić, czy moje hasło roota (login) jest wyłączone?

10

Przypadkowo włączyłem (ustawiłem) hasło roota (domyślnie jest ono zablokowane), a teraz chcę je „cofnąć”. Użyłem obu poleceń

sudo usermod -p '!' root

i

sudo passwd -dl root

w tej kolejności.

Jak sprawdzić, czy konto roota jest zablokowane?

nobru
źródło

Odpowiedzi:

18

Możesz użyć passwdpolecenia:

# passwd -S
root P 11/04/2014 -1 -1 -1 -1
# passwd -l root
passwd: password expiry information changed.
# passwd -S 
root L 11/04/2014 -1 -1 -1 -1
# passwd -d root
passwd: password expiry information changed.
# passwd -S 
root NP 11/04/2014 -1 -1 -1 -1

Od man 1 passwd:

   -S, --status
       Display account status information. The status information consists
       of 7 fields. The first field is the user's login name. The second
       field indicates if the user account has a locked password (L), has
       no password (NP), or has a usable password (P). The third field
       gives the date of the last password change. The next four fields
       are the minimum age, maximum age, warning period, and inactivity
       period for the password. These ages are expressed in days.

Wyświetlane dane są przechowywane w /etc/shadowpliku, w którym przechowywane są zaszyfrowane hasła.

Na przykład po każdym z powyższych passwdpoleceń stanami były:

1:root:$6$............long hash...............::::::
1:root:!$6$........same long hash.............:16478::::::
1:root::16478::::::
muru
źródło
5

Jedną z możliwości jest zajrzenie do / etc / passwd przez wprowadzenie

grep root /etc/passwd

Powinien pokazywać linię zaczynającą się w root:x: ......miejscu, gdzie x oznacza, że ​​zaszyfrowane hasła są przechowywane w pliku cienia. W takim przypadku sprawdzamy to, uruchamiając

sudo grep root /etc/shadow

(plik cienia wymaga otwarcia sudo!) Powinieneś otrzymać linię zaczynającą się tak jak poniżej, w wyniku root:!: ......której !lub oznacza, *że konto jest wyłączone. Każda inna wartość (nie zaczynająca się od! Lub *) później root:oznaczałaby działające hasło.

Bajt Dowódca
źródło
dziękuję, ale tylko się zastanawiam, czy jest jakiś plik zawierający te informacje?
nobru
Przeszukałem trochę i dodałem kolejną część do mojej odpowiedzi, uzyskując dostęp do plików, w których przechowywane są hasła, tak jak sobie życzyłeś.
Bajt Dowódca
Wypróbowałem twoją pierwszą sugestię, i to jest złe, sudo nadal używa hasła użytkownika. Edytowany akapit działa, czyli informacji, których szukałem
nobru
źródłem danych jest man passwd.5iman shadow.5
Siergiej G
0

Łatwy.

Naciśnij Ctrl + Alt + F1. Spowoduje to doprowadzenie do osobnego terminalu. Spróbuj zalogować się jako root, wpisując rootjako login i podając hasło.

Jeśli konto root jest włączone, logowanie będzie działać. Jeśli konto root jest wyłączone, logowanie się nie powiedzie.

Aby wrócić do GUI, naciśnij Ctrl + Alt + F7.

mkasberg
źródło
W tym celu nie musisz iść aż do TTY. Proste suwystarczy.
muru
dziękuję, próbowałem i teraz jest zamknięty. Ale zastanawiam się, czy jest jakiś plik, który mogę otworzyć i sprawdzić. Powiedzmy hipotetycznie, że nie pamiętam hasła, które wpisałem, i nie ma opcji, aby ustawić kolejne z sudo od użytkownika, więc chcę sprawdzić plik logowania, jeśli istnieje.
nobru
0

Domyślnie podczas instalacji Ubuntu nie powinieneś znać hasła roota. Istnieje, ale użytkownik nie powinien o tym wiedzieć. Administrator oczywiście może zmienić hasło, sudo passwdale generalnie nie powinno to być konieczne, chyba że wiesz, co robisz i dlaczego to robisz.

Plik zawierający informacje o wszystkich hasłach użytkowników jest, /etc/shadow a każdy wpis w tym pliku jest szyfrowany. Więc jeśli atakujący nie uzyska dostępu do twojego systemu i nie ukradnie tego pliku, nie powinien mieć możliwości wejścia do roota. Oczywiście zawsze istnieje możliwość, dlatego sugeruję, aby wyłączyć wszelkie funkcje zdalnego dostępu: telnet (domyślnie wyłączone), ssh, zdalny pulpit itp. Zdobądź nmapnarzędzie i zeskanuj swój system, sudo nmap localhostaby sprawdzić, które porty mogą być otwarte na twoim system. Zdobądź także zaporę ogniową; ubuntu jest wyposażony w zaporę ogniową ufw, która jest prosta w obsłudze i wystarczająco dobrze spełnia swoje zadanie.

Między innymi możesz przetestować konto root sudo -i

W /etc/sudoerspliku, należy mieć linię: sudo -i. Jeśli nie możesz zalogować się jako root, nie zobaczysz znaku zachęty #, a następnie konto zostanie zablokowane

Defaults env_reset,timestamp_timeout=30

timestamp_timeout każe sudo ponownie poprosić o hasło po 30 sekundach, abyś nie był zalogowany przez cały czas z uprawnieniami roota. Jest to jeden ze sposobów zabezpieczenia systemu.

Negatywnym skutkiem ubocznym zmiany hasła roota jest to, że jeśli zapomnisz hasła lub inny użytkownik w twoim systemie zapomni hasło, nie będziesz mieć dostępu do roota. Nie znam żadnych przypadków, ale zawsze istnieje możliwość zepsucia systemu, ponieważ niektóre procesy działają jako root, a jeśli zablokujesz konto root, istnieje możliwość, że mogą one nie działać poprawnie lub wcale.

Zdecydowanie polecam przeczytać man sudoers, man passwd,cień człowieka`.

Powodzenia i mam nadzieję, że to pomoże!

Sergiy Kolodyazhnyy
źródło
0

polecenie catch bleow one liner dla raportu hasła wszystkich istniejących użytkowników w Linuksie Sever.

for i in $(cat /etc/passwd | awk -F ':' '{print $1}'); do echo "##############" "$i" "############";chage -l $i; echo "##################################"; done | nl | less
Pan Linux
źródło