Dlaczego niektórzy użytkownicy systemu mają powłokę / usr / bin / false?

Odpowiedzi:

73

Pomaga to uniemożliwić użytkownikom logowanie się do systemu.

Czasami potrzebujesz konta użytkownika do określonego zadania. Niemniej jednak nikt nie powinien mieć możliwości interakcji z tym kontem na komputerze. Są to z jednej strony konta użytkowników systemu, z drugiej strony jest to konto, do którego możliwy jest dostęp FTP lub POP3, ale po prostu brak bezpośredniego logowania do powłoki.

Jeśli przyjrzysz się dokładniej /etc/passwdplikowi, znajdziesz /bin/falsepolecenie jako powłokę logowania dla wielu kont systemowych. W rzeczywistości fałsz nie jest powłoką, ale poleceniem, które nic nie robi, a następnie kończy się kodem stanu sygnalizującym błąd . Wynik jest prosty. Użytkownik loguje się i natychmiast widzi ponownie monit logowania.

koleś
źródło
5
zauważ, że to tylko konwencja; mógłbym zainstalować własną powłokę jako /random/path/foo-shelli ustawić ją jako domyślną /etc/passwd. nie ma gwarancji.
donkiszot
16

Użytkownicy ci są właścicielami określonych plików lub procesów i nie są kontami logowania.

Jeśli wartość pola „shell” nie jest wymieniona, /etc/shellsprogramy takie jak demony FTP nie zezwalają na dostęp.

Dodatkowo, w przypadku programów, które nie sprawdzają /etc/shells, wykorzystujemy fakt, że /bin/falsenatychmiast powróci, dlatego odmawiamy interaktywnej powłoki.

Toby Speight
źródło
7

Niektórzy użytkownicy mają / usr / bin / false, inni mają / sbin / nologin lub nawet / usr / bin / passwd. Mogą to być użytkownicy systemu potrzebni do odizolowania uprawnień do programu lub użytkownicy programów korzystających z plików haseł do uwierzytelniania.

bbaassssiiee
źródło
1
/usr/bin/passwdsłuży np. do kont typu „tylko poczta”. Użytkownicy mogą używać ssh do zmiany hasła, ale nic więcej.
Simon Richter