Jak wyświetlić listę użytkowników w systemie Linux?

Jak wyświetlić listę użytkowników w systemie Linux?

System operacyjny Linux oferuje polecenia do tworzenia i usuwania użytkowników oraz sprawdzania, którzy są zalogowani. Jednak nie ma polecenia, aby wyświetlić listę użytkowników, zalogowanych lub nie, w systemie.

Mimo to istnieje kilka sposobów, aby to osiągnąć. Jeśli chcesz dowiedzieć się, jak wyświetlać listę użytkowników w systemie Linux, wykonaj poniższe czynności.

Dlaczego powinieneś sprawdzić swoją listę użytkowników Linuksa

Istnieje wiele powodów, dla których możesz chcieć wyświetlić listę użytkowników w systemie Linux. To dobra praktyka, jeśli chodzi o znajdowanie i usuwanie nieużywanych kont, na przykład. Z punktu widzenia bezpieczeństwa jest to również dobry sposób na upewnienie się, że nie ma intruzów tworzących konta użytkowników.

Jest to zadanie administracyjne, które prawdopodobnie powinieneś wykonywać przynajmniej raz w miesiącu. Jeśli używasz korporacyjnego serwera Linux, możesz chcieć robić to częściej.

Użytkownicy wymienieni w /etc/passwd

Wszystkie konta użytkowników twojego serwera Linux mają wpisy w pliku /etc/passwd . Każda linia reprezentuje użytkownika i ma siedem pól oddzielonych dwukropkami. Pola dostarczają informacji o użytkowniku.

  • Nazwa użytkownika.
  • Zaszyfrowane hasło ( x wskazuje, że hasło znajduje się w /etc/shadow )
  • Numer identyfikacyjny użytkownika (UID).
  • Numer identyfikacyjny grupy użytkownika (GID).
  • Pełna nazwa użytkownika, jeśli jest podana.
  • Katalog domowy użytkownika.
  • Powłoka logowania

To prowadzi nas do jednego sposobu na wylistowanie wszystkich użytkowników Linuksa. Możesz użyć polecenia less , aby zobaczyć cały plik, jeden ekran na raz.

less /etc/passwd

Jak wyświetlić listę użytkowników w systemie Linux?

Jeśli chcesz sprawdzić, czy dany użytkownik istnieje w systemie Linux, dobrze jest użyć polecenia grep :

less passwd | grep jeff

Jak wyświetlić listę użytkowników w systemie Linux?

Jeśli nie otrzymasz żadnych danych wyjściowych, oznacza to, że ten użytkownik nie istnieje na serwerze Linux.

Mimo wszystko to dużo informacji. Możesz skrócić go do samej nazwy użytkownika, na przykład za pomocą poleceń awk lub cut :

awk -F: '{print $1}' /etc/passwd cut -d: -f1 /etc/passwd

Jak wyświetlić listę użytkowników w systemie Linux?

Jest to znacznie łatwiejsze do zrozumienia, ale nadal pozwala przeglądać wszystkie konta użytkowników oparte na systemie zmieszane z użytkownikami ludzkimi.

Jak korzystać z getent, aby wyświetlić listę użytkowników

Inna komenda, getent , jest o wiele bardziej przydatna. Wyświetla wpisy z dowolnej bazy danych skonfigurowanej w pliku /etc/nsswitch.conf serwera . Jednym z nich jest baza danych passwd . Aby użyć getent do wyświetlenia listy wszystkich użytkowników Linuksa, działa to tak:

getent passwd

Wynik wygląda dokładnie tak samo, jak przy użyciu polecenia less , ale zawiera listę wszystkich użytkowników LDAP w systemie Linux. Po raz kolejny nasze polecenia awk i cut mogą pomóc w zobaczeniu tylko pierwszego pola, czyli nazw użytkowników.

Jeśli chcesz sprawdzić, czy dany użytkownik istnieje w systemie Linux, getent ułatwia to:

getent passwd jeff

Ponownie, żadne dane wyjściowe tego polecenia nie mówią, że użytkownik nie istnieje.

Innym świetnym zastosowaniem getent jest sprawdzenie, ile kont użytkowników istnieje na serwerze. Odbywa się to poprzez przesyłanie danych wyjściowych getent za pomocą polecenia wc , w następujący sposób:

getent passwd | wc -l

Jak wyświetlić listę użytkowników w systemie Linux?

Jak widać, mój system Linux ma łącznie 48 kont. Całkiem interesujące, ponieważ jestem jedynym, który go używa, ale to tylko pokazuje, ile kont systemowych jest tworzonych w Linuksie.

Odsiewanie użytkowników systemu od zwykłych użytkowników

W oczach Linuksa nie ma różnicy między użytkownikiem systemu a człowiekiem. Za każdym razem, gdy instalujesz system operacyjny, tworzy on pewną liczbę użytkowników systemu. Inni użytkownicy systemu są stworzeni dla różnych pakietów, takich jak oprogramowanie WWW lub usługi pocztowe.

Jak więc wymienić tylko zwykłych, ludzkich użytkowników systemu Linux? Kluczem jest tutaj zrozumienie, że kiedy tworzysz zwykłego użytkownika, jego UID jest przypisywany w pewnym zakresie liczb. Sprawdzając plik /etc/login.defs , możemy określić zakres wartości UID dostępnych dla zwykłych kont użytkowników.

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

Jak wyświetlić listę użytkowników w systemie Linux?

Na podstawie wyników wiem, że normalni użytkownicy powinni mieć UID między 1000 a 60000. Na tej podstawie mogę skonstruować zapytanie getent , które wyświetli tylko zwykłych użytkowników.

getent passwd {1000..60000}

Jak wyświetlić listę użytkowników w systemie Linux?

Pamiętaj, że getent zawiesi się nawet po wyświetleniu danych wyjściowych. Możesz nacisnąć Ctrl-C , aby zakończyć proces, lub poczekać, aż się zakończy. Przeszukiwanie bazy danych passwd zajmuje zwykle mniej niż 15 sekund .

Bardziej ogólna wersja tego polecenia uwzględnia różne wartości UID_MIN i UID_MAX , których mogą używać różne serwery.

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)}

W tym poleceniu wykorzystujemy zdolność Linuksa do robienia wielu rzeczy naraz. Polecenia awk pobierają wartości UID_MIN i UID_MAX , a następnie używają ich w poleceniu getent .

Teraz powiedzmy, że wszystko, czego chcemy, to nazwy użytkowników. Po raz kolejny przesyłamy nasze dane wyjściowe przez polecenie cut , tak jak poniżej:

eval getent passwd {$(awk '/^UID_MIN/ {print $2}' /etc/login.defs)..$(awk '/^UID_MAX/ {print $2}' /etc/login.defs)} | cut -d: -f1

Jak wyświetlić listę użytkowników w systemie Linux?

Wykonanie tego polecenia może zająć od 10 do 15 sekund, więc bądź cierpliwy.

Efektywne zarządzanie użytkownikami Linuksa

Ważne jest, aby śledzić, jakie konta użytkowników istnieją w systemie Linux. Gdy wiesz, że pracownik odszedł, szybko usuwaj jego konto użytkownika. Okresowa lista użytkowników Linuksa pomoże upewnić się, że złapiesz wszystkie konta, które mogły utknąć.

Jednocześnie pamiętaj o przestrzeganiu zasad bezpieczeństwa haseł i zachęcaj użytkowników do regularnej zmiany haseł .

Tags: #HOW-TO

Imbir 2.7.53.0

Imbir 2.7.53.0

Ginger to darmowy moduł do sprawdzania pisowni i gramatyki.

Bloki

Bloki

Blocks to intelektualna gra przeznaczona dla uczniów klas trzecich szkół podstawowych, służąca ćwiczeniu umiejętności wykrywania i wzroku. Nauczyciele objęli ją programem wspierania nauczania informatyki.

Prezi 6.26

Prezi 6.26

Prezi to darmowa aplikacja, która umożliwia tworzenie cyfrowych prezentacji, zarówno online, jak i offline.

Mathway

Mathway

Mathway to bardzo przydatna aplikacja, która pomoże Ci rozwiązać wszystkie problemy matematyczne, które wymagają bardziej złożonego narzędzia niż kalkulator wbudowany w Twoje urządzenie.

Prezenter Adobe

Prezenter Adobe

Adobe Presenter to oprogramowanie do e-learningu wydane przez firmę Adobe Systems, dostępne na platformie Microsoft Windows jako wtyczka Microsoft PowerPoint.

Tukan 2.3.0

Tukan 2.3.0

Toucan to edukacyjna platforma technologiczna. Pozwala nauczyć się nowego języka podczas przeglądania popularnych, codziennych stron internetowych.

ENetViet 24.2

ENetViet 24.2

eNetViet to aplikacja, która pomaga rodzicom połączyć się ze szkołą, w której uczą się ich dzieci, aby mogli lepiej zrozumieć aktualną sytuację edukacyjną swojego dziecka.

Duolingo

Duolingo

Duolingo - Ucz się języków za darmo, czyli po prostu Duolingo, to program edukacyjny, który pozwala uczyć się i ćwiczyć wiele różnych języków.

Szybkie pisanie

Szybkie pisanie

RapidTyping to wygodne i łatwe w użyciu narzędzie do nauki obsługi klawiatury, które pomoże Ci poprawić szybkość pisania i zmniejszyć liczbę błędów ortograficznych. Dzięki lekcjom zorganizowanym na wielu różnych poziomach RapidTyping nauczy Cię, jak pisać na klawiaturze lub doskonalić istniejące umiejętności.

Typ matematyczny 7.4.10.53

Typ matematyczny 7.4.10.53

MathType to interaktywne oprogramowanie do równań opracowane przez projektanta Design Science (Dessci), które umożliwia tworzenie i dodawanie adnotacji do notacji matematycznej na potrzeby przetwarzania tekstu, prezentacji, e-learningu itp. Ten edytor jest również używany do tworzenia dokumentów TeX, LaTeX i MathML.