Ten przewodnik pokazuje, jak wyświetlić listę użytkowników w systemie Linux.
Lista użytkowników
System przechowuje listę użytkowników w określonych plikach i bazach danych. Możemy uzyskać do nich dostęp za pomocą różnych narzędzi. Możemy również filtrować dane wyjściowe, aby zebrać określone informacje.
Lista użytkowników z /etc/passwd
Plik /etc/passwd to oparta na zwykłym tekście baza danych zawierająca informacje o wszystkich użytkownikach w systemie. Właścicielem pliku jest root z uprawnieniami do plików 644. Aby uzyskać szczegółowe wyjaśnienie uprawnień do plików, zapoznaj się z tym przewodnikiem dotyczącym uprawnień i własności plików w systemie Linux .
Możemy sprawdzić zawartość pliku /etc/passwd, aby mieć pełną listę wszystkich użytkowników w systemie.
$ cat /etc/passwd | sortuj | mniej
Każdy wiersz w pliku oznacza unikalną nazwę użytkownika i powiązane z nią informacje. Informacje są podzielone na siedem pól oddzielonych dwukropkami. Oto krótki przegląd pól.
- Pole 1: Nazwa użytkownika użytkownika.
- Pole 2: Określa, czy hasło użytkownika jest zaszyfrowane. Jeśli wartość to x, oznacza to, że hasło jest przechowywane w pliku tekstowym /etc/shadow. Jest to plik chroniony przez system, który wymaga uprawnień sudo, aby uzyskać dostęp.
- Pole 3: UID (identyfikator użytkownika) użytkownika.
- Pole 4: GID (ID grupy) użytkownika.
- Pole 5: Pełna nazwa użytkownika (GECOS).
- Pole 6: Katalog domowy dedykowany dla użytkownika.
- Pole 7: powłoka logowania użytkownika. Domyślnie ta wartość byłaby ustawiona na /bin/bash.
Jeśli dodatkowe informacje nie są w tej chwili potrzebne, możemy je pominąć w danych wyjściowych.
$ cat /etc/passwd | awk -F: '{ print $1}' | sortować$ cat /etc/passwd | wyciąć -d: -f1 | sortować
Wyświetlanie listy użytkowników korzystających z getent
Termin getent to skrót na określenie wpisów z administracyjnej bazy danych. Jak sugeruje, getent może współpracować z różnymi administracyjnymi bazami danych. Sprawdź wszystkie obsługiwane administracyjne bazy danych.
Interesuje nas baza danych passwd, ponieważ zawiera informacje o wszystkich użytkownikach w systemie. Sprawdź hasło baza danych z getent.
$ getent passwd | sortować
Wynik jest podobny do zawartości /etc/passwd. Zauważ, że ta komenda getent wyświetli użytkowników z obu baz danych passwd i LDAP, jeśli system jest skonfigurowany do używania protokołu LDAP do uwierzytelniania użytkowników. Aby uzyskać bardziej szczegółowe informacje, zapoznaj się z tym przewodnikiem dotyczącym polecenia getent w systemie Linux .
Możemy usunąć wszystkie dodatkowe informacje z danych wyjściowych, zachowując tylko nazwę użytkownika.
$ getent passwd | awk -F: '{ print $1}' | sortować$ getent passwd | wyciąć -d: -f1 | sortować
Wystawiający użytkownika grupy
W systemie Linux grupy to jednostki organizacyjne służące do organizowania kont użytkowników i administrowania nimi. Pomaga łatwiej zarządzać różnymi uprawnieniami systemu i plików.
Aby wyświetlić listę wszystkich użytkowników z danej grupy użytkowników, możemy użyć getent.
$ grupa getent
Korzystanie z listy użytkowników
Teraz wiemy, jak wyświetlić listę wszystkich użytkowników w systemie. Oto kilka scenariuszy zastosowania tej wiedzy.
Sprawdzanie istnienia użytkownika
Z listy użytkowników możemy sprawdzić, czy użytkownik istnieje w systemie Linux. Narzędzie getent może sprawdzić, czy użytkownik istnieje w systemie.
Inną (choć niezbyt dobrą) metodą jest użycie grep. Listę użytkowników możemy po prostu przefiltrować za pomocą grep. Ponieważ każdy użytkownik ma swój własny, unikalny wpis, nie spowoduje to żadnych kolizji.
$ getent passwd | grep
Liczba kont użytkowników
Jak widzieliśmy do tej pory, wszystkie metody zgłaszają unikalnego użytkownika w każdym wierszu danych wyjściowych. Licząc numer linii, możemy sprawdzić, ilu użytkowników jest aktualnie w systemie.
Aby policzyć numer wiersza, użyjemy toaleta narzędzie. Potokuj wyjście getent do polecenia wc.
$ getent passwd | wc-l
Wyświetlanie listy połączonych użytkowników
Jeśli zalogowano się wielu użytkowników, możemy sprawdzić listę połączonych użytkowników za pomocą który Komenda.
Dane wyjściowe zawierają trzy różne kolumny informacji.
- Kolumna 1: połączona nazwa użytkownika.
- Kolumna 2: Rodzaj podłączenia do systemu.
- Kolumna 3: Godzina i data rozpoczęcia sesji.
Końcowe przemyślenia
W tym samouczku pokazaliśmy, jak wyświetlać i filtrować użytkowników w systemie. Przedstawia również niektóre potencjalne zastosowania listy użytkowników. Te metody działają niezależnie od używanej dystrybucji Linuksa.
Zarządzanie użytkownikami to duża część ekosystemu Linuksa. Aby dowiedzieć się więcej, zapoznaj się z tym szczegółowym przewodnikiem na jak wyświetlać i zarządzać użytkownikami w Linuksie .
Życzymy miłego korzystania z komputera!