Ponieważ Ubuntu domyślnie wyłącza konto roota, dlaczego nie wyłączyć dostępu do powłoki roota?


12

Obecne ustawienia domyślne konta głównego /etc/passwdto root:x:0:0:root:/root:/bin/bash.

Dlaczego nie ustawić root:x:0:0:root:/root:/usr/sbin/nologin?


7
Abyś mógł to zrobić sudo -i?
AlexP,

12
„wyłącza konto root” to nieco luźny opis: to, co naprawdę wyłącza, to uwierzytelnianie konta roota za pomocą hasła
steeldriver

1
@AlexP rzeczywiście właśnie go przetestowałem, sudo -i nie działa z rootem ustawionym na / usr / sbin / nologin.
loongyh

Odpowiedzi:


19

Gdyby tak było, można by uruchamiać polecenia sudopojedynczo, ale nie można uruchomić powłoki roota. Powłoka root jest wygodna w wielu przypadkach, np. Jeśli planujesz uruchamiać wiele poleceń jako root z rzędu.

W szczególności nie można uruchomić sudo -i, jak zauważył AlexP. Od man sudo:

-i, --login    Run the shell specified by the target user's password database entry as a login shell.

7
Czy to nie sudo /bin/bashdziała?
Federico Poloni,

5
@FedericoPoloni że byłoby bardziej jak sudo -smyślę (a rootem, ale nie jest to główny logowania shell). To jednak dobra uwaga - i sudo -swydaje się, że działa nawet wtedy, gdy jest to skorupa roota/usr/sbin/nologin
steeldriver,

1
Można wyłączyć -i, -s, /bin/bash, i tak dalej po prostu pozwalając białą listę poleceń, zobacz dokumentację pliku sudoers. Jest to tak drobnoziarniste, że można na przykład zezwolić użytkownikom na uruchamianie się /etc/init.d/someservice restartjako root bez konieczności uruchamiania /etc/init.d/someservice stop. Ale domyślnym ubuntu jest po prostu brak hasła rooti zezwalanie administratorom na robienie wszystkiego z sudo. Prawdopodobnie uzasadnieniem jest: a) więcej niż jeden użytkownik admin oraz b) użytkownik admin nie musi pamiętać drugiego hasła do konta root.
allo

8

Oprócz sudo Alberto Santiniego jest jeszcze jedna (znacznie lepsza) odpowiedź. Jeśli powłoka root jest ustawiona na coś, co nie jest powłoką, uruchamianie pojedynczego użytkownika nie działa. Odzyskiwanie sulogindotyczy nieistniejącej powłoki lub całkowicie zepsutej powłoki, ale nie zadziała, jeśli powłoka wydaje się być prawidłową powłoką, ale tak naprawdę nie jest powłoką.

Nadal możesz sudobezpośrednio uzyskać powłokę, określając sudoją, aby nie była to nawet dobra ochrona.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.