Co ci wszyscy użytkownicy w pliku / etc / passwd?

27

Plik / etc / passwd powinien mieć linię dla każdego użytkownika w systemie. Wśród wspólnej nazwy użytkownika i użytkownika root jest grupa innych użytkowników. Kilka przykładów:

timidity:x:114:127:TiMidity++ MIDI sequencer service:/etc/timidity:/bin/false
liquidsoap:x:115:128::/usr/share/liquidsoap:/bin/false
statd:x:116:65534::/var/lib/nfs:/bin/false
gdm:x:117:131:Gnome Display Manager:/var/lib/gdm:/bin/false
mysql:x:118:133:MySQL Server,,,:/nonexistent:/bin/false
  1. Jaki jest cel wszystkich tych użytkowników?
  2. Jak mogę się zalogować jako mysql lub gdm? Jakie będzie hasło?
Pithikos
źródło

Odpowiedzi:

30

Są to tak zwane „konta serwisowe” i służą do rozdzielania uprawnień (na przykład mysql nie może odczytać plików, których nie posiada).

Nie można zalogować się interaktywnie z powodu /bin/falsewpisu. Zamiast tego służą one tylko do dostępu do odpowiednich plików.

Nathan C.
źródło
Dowiedziałem się, że niektórzy nie mają /bin/falsewpisu, ale nadal nie mogę się na nich zalogować. Przykład ->proxy:x:13:13:proxy:/bin:/bin/sh
Pithikos
1
Ma to związek z logowaniem bez hasła - SSH odrzuca puste hasła ( :x:część linii). Możesz su - proxyna przykład, ale nie ma takiej potrzeby.
Nathan C
2
: x: nie jest pustym hasłem, oznacza to, że nie ma hasła, które działałoby. To jest pole dla skrótu hasła i nic nie będzie mieszało tylko litery x, więc bez względu na to, co wpiszesz jako hasło, nie zadziała. W rzeczywistości było to prawdą przed / etc / shadow; to pole w / etc / passwd nie jest już używane, ale: x: może nadal oznaczać, że nie można się zalogować.
Randy Orrison
To jest źle. Hasło: znak x oznacza, że ​​zaszyfrowane hasło jest przechowywane w pliku / etc / shadow. Pamiętaj, że musisz użyć polecenia passwd do obliczenia skrótu hasła wpisanego w interfejsie CLI lub do przechowywania / aktualizacji skrótu hasła w pliku / etc / shadow. źródło: cyberciti.biz/faq/understanding-etcpasswd-file-format
trietend
16

Konta te służą do uruchamiania usług w tle. Twój system linux będzie miał szereg aplikacji wykonujących szereg zadań w tle, ponieważ poprawnie zidentyfikowałeś SQL jest jedną z takich usług. Aby te usługi mogły wykonywać działania, musi mieć dołączonego użytkownika.

W celu zachowania bezpieczeństwa systemu zadania te nie mogą być prowadzone jako root, a zamiast tego są przypisane z kont nie mają powłokę lub zaloguj dostęp oznaczoną /bin/falselub /sbin/nologin. Pozwala to również przypisywać uprawnienia tylko do plików używanych przez każdą aplikację.

Z tego powodu nie możesz się zalogować jako tych użytkowników.

Źródło - linuxquestions.com

Matthew Williams
źródło
6

Ci użytkownicy nie są użytkownikami interaktywnymi w tradycyjnym sensie, ale użytkownikami, którzy uruchamiają usługi na twoim urządzeniu. w związku z tym nie można łatwo zalogować się jako ci użytkownicy, podobnie jak użytkownik. Konta są albo pozbawione hasła (logowanie wyłączone), albo mają losowo generowane hasło. Konta bez hasła mogą być wywoływane przez root (zwykle przy rozruchu) przy użyciu su do uruchomienia rzeczywistej usługi.

Frank Thomas
źródło