15 + przykłady listowania użytkowników w Linuksie

w tym poście dowiesz się o listowaniu użytkowników w Linuksie. Poza tym poznasz inne sztuczki dotyczące cech użytkowników Linuksa.

w Linuksie istnieją dwa typy użytkowników, użytkowników systemowych, którzy są domyślnie tworzeni w systemie. Z drugiej strony są zwykli użytkownicy, którzy są tworzeni przez administratorów systemu i mogą zalogować się do systemu i z niego korzystać.

spis treści

jaki plik zawiera listę Użytkowników Linuksa?,

zanim zaczniemy wymieniać użytkowników, musimy wiedzieć, gdzie ci użytkownicy zapisani na Linuksie?

użytkownicy są przechowywane w pliku tekstowym w systemie o nazwie plik passwd. Ten plik znajduje się w katalogu / etc.

plik znajduje się na następującej ścieżce:

$ /etc/passwd

w tym Pliku znajdziesz wszystkie informacje o użytkownikach systemu.

Lista wszystkich użytkowników

Lista użytkowników jest pierwszym krokiem do zarządzania nimi. W ten sposób dowiemy się, ilu ich jest i kim są. W Linuksie prawie wszystko można zrobić na różne sposoby i nie jest to wyjątkiem.,

aby wyświetlić listę wszystkich użytkowników, możesz użyć polecenia cat:

$ cat /etc/passwd

Jak widać na obrazku, są tam wszystkie informacje o użytkownikach.

1-w pierwszym polu zobaczysz nazwę użytkownika.

2-drugie pole (znak x) jest reprezentacją zaszyfrowanego hasła. Zaszyfrowane hasło jest przechowywane w pliku/etc / shadow.

3-UID lub ID użytkownika.

4-następne pole odnosi się do podstawowej grupy użytkownika.

5-następnie wyświetla informacje o ID użytkownika, takie jak adres, e-mail itp.,

6-Po tym wyświetli się katalog domowy użytkownika.

7-ostatnim polem jest powłoka używana przez tego użytkownika.

jednak, chociaż informacje są bardzo przydatne, jeśli chcesz wyświetlać tylko nazwy użytkowników w podstawowy sposób, możesz użyć tego polecenia:

$ cut -d: -f1 /etc/passwd

teraz mamy nazwy tylko przez wydrukowanie pierwszego pola pliku.

lista & Sortuj użytkowników według nazwy

powyższe polecenie służy do wyświetlania użytkowników na Linuksie. Ale co z listowaniem użytkowników w porządku alfabetycznym?,

aby to zrobić, użyjemy poprzedniego polecenia, ale dodamy polecenie sort.

tak więc, polecenie będzie wyglądać następująco:

$ cut -d: -f1 /etc/passwd | sort

jak widać na obrazku, użytkownicy są wyświetlane posortowane.

Lista użytkowników bez hasła

ważne jest, aby znać użytkowników, którzy nie mają hasła i podjąć odpowiednie działania. Aby wyświetlić listę użytkowników, którzy nie mają hasła, wystarczy użyć następującego polecenia:

$ sudo getent shadow | grep -Po '^*(?=:.?:)'

używane wyrażenia regularne wyświetli listę wszystkich użytkowników bez hasła.,

Lista użytkowników według użycia dysku

Jeśli masz duży katalog i chcesz wiedzieć, który użytkownik go zalewa, możesz użyć polecenia du, aby uzyskać użycie dysku.

dzięki temu możesz wykryć, którzy z tych użytkowników nadużywają miejsca na dysku.

w tym celu wystarczy użyć następującego polecenia:

$ sudo du -smc /home/* | sort -n

w ten sposób będziesz miał użytkowników uporządkowanych według użycia dysku dla katalogu /home.

użyliśmy polecenia-n do sortowania, aby posortować dane wyjściowe według liczb.,

lista aktualnie zalogowanych użytkowników

aby wyświetlić listę aktualnie zalogowanych użytkowników, mamy na to kilka sposobów. Pierwszą metodą możemy użyć polecenia users:

$ users

wyświetli listę użytkowników z otwartymi sesjami w systemie.

ale ta informacja jest trochę podstawowa; jednak mamy inne polecenie, które podaje więcej szczegółów. Polecenie jest po prostu w.,

$ w

za pomocą tego polecenia możemy uzyskać więcej informacji, takich jak dokładny czas rozpoczęcia sesji i dostępną przez niego sesję terminala.

W końcu jest komenda o nazwie who. Jest on dostępny dla całej rodziny Unix. Więc można go używać na innych systemach, takich jak FreeBSD.

$ who

za pomocą polecenia who mamy również informacje o aktualnie zalogowanych użytkownikach. Oczywiście możemy dodać opcję-a i pokazać wszystkie szczegóły.,

$ who -a

w ten sposób wiesz wszystko o zalogowanych użytkownikach.

Linuksowa Lista użytkowników, którzy ostatnio zalogowali się do systemu

widzieliśmy jak uzyskać aktualnie zalogowanych użytkowników, co z listą historii logowania użytkowników?,

możesz użyć ostatniego polecenia, aby uzyskać więcej informacji o zalogowaniu, które miało miejsce:

$ last

lub loginy konkretnego użytkownika

$ last 

na przykład:

$ last angelo

są to działania logowania użytkownika, kiedy zostały uruchomione i jak długo trwało.

wyświetlanie loginów użytkowników w określonej dacie lub godzinie

a co z wyświetlaniem loginów użytkowników w określonej dacie lub godzinie?, Aby to osiągnąć, używamy ostatniego polecenia, ale z parametrem-t:

$ last -t YYMMDDHHMMSS

na przykład:

$ last -t 20190926110509

i teraz wystarczy wybrać dokładną datę & time to list who logged at the time.

Lista wszystkich użytkowników w grupie

w Linuksie są dwa sposoby na listę członków grupy, najprostszym i najbardziej bezpośrednim sposobem jest pobranie użytkowników z pliku /etc/group w następujący sposób:

$ cat /etc/group | grep likegeeks

To polecenie wyświetli listę użytkowników w grupie likegeeks.,

innym sposobem jest użycie poleceń takich jak polecenie members w dystrybucjach opartych na Debianie. Jednak nie jest instalowany domyślnie w dystrybucjach Linuksa.,

aby zainstalować go w Ubuntu / Linux Mint 19, wystarczy użyć APT:

$ sudo apt install members

lub w przypadku CentOS:

$ sudo dnf install members

Po zainstalowaniu możesz uruchomić polecenie, a następnie nazwę grupy, do której chcesz wyświetlić listę użytkowników:

$ members 

na przykład:

$ members avahi

w ten sposób możesz wyświetlić listę użytkowników dla grupy w dystrybucji opartej na Debianie. A co z dystrybucją opartą na Redhacie, taką jak CentOS?,

Możesz użyć następującego polecenia:

$ getent group likegeeks

Lista użytkowników z UID

w systemach Unix każdy użytkownik ma identyfikator użytkownika lub ID. Służy do wewnętrznego zarządzania kontami i administrowania nimi w systemie operacyjnym.

ogólnie UID od 0 do 1000 są przeznaczone dla użytkowników systemu. A następnie dla stałych użytkowników. Zawsze w systemach Unix, UID zero należy do użytkowników root (możesz mieć więcej niż jednego użytkownika z UID zerowym).

więc teraz, będziemy wymieniać użytkowników z ich odpowiedni UID za pomocą Awk.,

polecenie wykonujące zadanie jest następujące:

$ awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd

jak widać, każdy użytkownik ma swój UID.

Lista użytkowników root

w systemie Uniksopodobnym, takim jak Linux, zwykle jest tylko jeden użytkownik root. Jeśli jest ich wiele, jak je wymienić?

aby to zrobić, możemy użyć tego polecenia:

$ grep 'x:0:' /etc/passwd

tutaj filtrujemy plik, aby uzyskać użytkowników z UID zerowym (użytkownicy root).,

inny sposób sprawdzania pliku /etc/group:

$ grep root /etc/group

tutaj otrzymujemy użytkowników w katalogu głównym grupy z pliku /etc/group.

Możesz również sprawdzić, czy jakikolwiek użytkownik może wykonywać polecenia jako root, sprawdzając plik /etc/sudoers:

$ cat /etc/sudoers

uzyskaj całkowitą liczbę użytkowników

aby uzyskać całkowitą liczbę użytkowników w Linuksie, możesz policzyć linie w pliku /etc/passwd za pomocą polecenia wc w następujący sposób:

$ cut -d: -f1 /etc/passwd | wc -l

Super! 43 użytkowników., Ale obejmuje to system i stałych użytkowników. A co z uzyskaniem liczby tylko stałych użytkowników?

Easy! Ponieważ wiemy z góry, że zwykli użytkownicy mają UID 1000 lub większy, możemy użyć Awk, aby je uzyskać:

$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd

Cool!

Lista użytkowników sudo

systemy linuksowe mają narzędzie o nazwie sudo, które pozwala na wykonywanie poleceń tak, jakbyś był innym użytkownikiem, który zwykle jest użytkownikiem root.

należy obchodzić się z tym ostrożnie w profesjonalnym środowisku.,

bardzo ważne jest również, aby wiedzieć, którzy użytkownicy mogą uruchamiać polecenie sudo. W tym celu wystarczy wymienić użytkowników należących do grupy sudo.

$ members sudo

użytkownicy tej grupy mogą wykonywać polecenia jako super użytkownicy.

Lista użytkowników, którzy mają dostęp SSH

SSH umożliwia użytkownikom dostęp do komputerów zdalnych przez sieć. Jest dość bezpieczny i narodził się jako zamiennik Telnet.

domyślnie wszyscy zwykli użytkownicy mogą się logować i używać SSH., Jeśli chcesz to ograniczyć, możesz użyć pliku konfiguracyjnego SSH (/etc/ssh/ssh_config) i dodać następującą dyrektywę:

AllowUsers user1 user2 user3

ponadto możesz zezwolić na grupy zamiast zezwalać użytkownikom tylko za pomocą dyrektywy AllowGroups:

AllowGroups group1 group2 group3

dyrektywy te określają, kto może uzyskać dostęp do usługi. Nie zapomnij ponownie uruchomić usługi SSH.

Lista użytkowników, którzy mają uprawnienia do pliku lub katalogu

możemy dać więcej niż jednemu użytkownikowi uprawnienia do dostępu lub modyfikowania plików& katalogów na dwa sposoby.,

pierwsza metoda polega na dodaniu użytkowników do grupy pliku lub katalogu.

w ten sposób możemy wymienić członków grupy za pomocą narzędzia members, jak pokazano powyżej.

ok, ale co jeśli chcemy, aby ten użytkownik miał dostęp tylko do tego konkretnego pliku (nie do wszystkich uprawnień grupy)?

tutaj możemy ustawić ACL dla tego pliku za pomocą polecenia setfacl w następujący sposób:

$ setfacl -m u:newuser:rwx myfile

tutaj dajemy użytkownikowi o nazwie newser uprawnienia do pliku o nazwie myfile uprawnienia do odczytu& write& execute.,

teraz plik może być dostępny lub modyfikowany przez właściciela i Użytkownika o nazwie newuser. Jak je wymienić?

możemy wypisać ich za pomocą polecenia getfacl w następujący sposób:

$ getfacl myfile

To polecenie wyświetli listę wszystkich użytkowników, którzy mają uprawnienia do pliku z odpowiednimi uprawnieniami.

Lista zablokowanych (wyłączonych) użytkowników

w Linuksie, jako środek bezpieczeństwa, możemy zablokować użytkowników. To jako środek ostrożności, jeśli podejrzewa się, że użytkownik robi rzeczy źle, a ty nie chcesz całkowicie usunąć użytkownika i po prostu zablokować go w celu zbadania.,

aby zablokować użytkownika, możesz użyć następującego polecenia:

$ usermod -L myuser

teraz użytkownik o nazwie myuser nie będzie już mógł zalogować się lub korzystać z systemu.

aby wyświetlić listę wszystkich zablokowanych użytkowników Systemu, wystarczy użyć następującego polecenia:

$ cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked

spowoduje to wydrukowanie wszystkich zablokowanych użytkowników, w tym użytkowników systemu. A co z listowaniem tylko zwykłych Użytkowników?

jak widzieliśmy powyżej, używając Awk, możemy uzyskać zablokowane zwykłych Użytkowników w taki sposób:

$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked

bardzo proste!,

Lista użytkowników zdalnych (LDAP)

ok, teraz Można wymienić wszystkich użytkowników systemowych (użytkowników lokalnych), ale co z użytkownikami zdalnymi lub użytkownikami LDAP? Cóż, możemy użyć narzędzia takiego jak ldapsearch, ale czy jest jakiś inny sposób?

na szczęście tak! Możesz wyświetlić listę lokalnych& zdalnych użytkowników za pomocą jednego polecenia o nazwie getent

$ getent passwd

To polecenie wyświetla listę zarówno lokalnych użytkowników systemu, jak i użytkowników LDAP lub NIS lub innych użytkowników sieciowych.

możesz przesyłać wyniki tego polecenia do dowolnego z wyżej wymienionych poleceń w ten sam sposób.,

ponadto polecenie getent może wyświetlać listę kont grupowych w następujący sposób:

$ getent group

Możesz sprawdzić stronę podręcznika polecenia, aby poznać inne bazy danych, w których polecenie może wyszukiwać.

podsumowanie

Lista użytkowników w systemie Linux była fajna! Poza tym nauczyliśmy się kilku wskazówek na temat użytkowników i zarządzania nimi na różne sposoby.

wreszcie ta wiedza pozwoli na lepsze Administrowanie użytkownikami systemu.

mam nadzieję, że tutorial okaże się przydatny. Wracaj.,

założyciel LikeGeeks. Pracuję jako administrator systemu Linux od 2010 roku. Jestem odpowiedzialny za utrzymywanie, zabezpieczanie i rozwiązywanie problemów z serwerami Linux dla wielu klientów na całym świecie. Uwielbiam pisać skrypty powłoki i Pythona, aby zautomatyzować moją pracę.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *