În această postare, veți afla despre listarea utilizatorilor în Linux. În afară de aceasta, veți cunoaște și alte trucuri despre caracteristicile utilizatorilor Linux.există două tipuri de utilizatori în Linux, utilizatori de sistem care sunt creați implicit cu sistemul. Pe de altă parte, există utilizatori obișnuiți care sunt creați de administratorii de sistem și se pot conecta la sistem și îl pot folosi.
cuprins
ce fișier conține lista utilizatorilor pe Linux?,
înainte de a începe listarea utilizatorilor, trebuie să știm unde au salvat acești utilizatori pe Linux?utilizatorii sunt stocate într-un fișier text pe sistemul numit fișierul passwd. Acest fișier este localizat în directorul / etc.
fișierul este situat pe următoarea cale:
$ /etc/passwd
în acest fișier, puteți găsi toate informațiile despre utilizatorii din sistem.
listarea tuturor utilizatorilor
listarea utilizatorilor este primul pas pentru a le gestiona. În acest fel, vom ști câți sunt și cine sunt. În Linux, aproape totul se poate face în diverse moduri, iar aceasta nu face excepție.,
Pentru a lista tuturor utilizatorilor, puteți folosi comanda cat:
$ cat /etc/passwd
după Cum puteți vedea în imagine, există toate informațiile despre utilizatori.
1-în primul câmp, veți vedea numele de utilizator.
2-al doilea câmp (caracterul x) este o reprezentare a parolei criptate. Parola criptată este stocată în fișierul/etc / shadow.
3-ID-ul UID sau ID-ul de utilizator.
4-câmpul următor se referă la grupul principal al utilizatorului.
5-apoi, afișează informații despre ID-ul utilizatorului, cum ar fi adresa, e-mailul etc.,
6-după aceasta, veți vedea directorul de pornire al utilizatorului.
7-ultimul câmp este shell-ul utilizat de acel utilizator.
cu toate Acestea, deși informația este destul de util, dacă doriți doar pentru a lista numele de utilizatori într-un mod de bază, puteți utiliza această comandă:
$ cut -d: -f1 /etc/passwd
Acum avem doar nume de imprimare primul câmp din fișierul numai.
listă & sortează utilizatorii după nume
comanda de mai sus servește scopului listării utilizatorilor pe Linux. Dar cum rămâne cu listarea utilizatorilor în ordine alfabetică?,pentru a face acest lucru, vom folosi comanda anterioară, dar vom adăuga comanda de sortare.
Deci, comanda va fi ca aceasta:
$ cut -d: -f1 /etc/passwd | sort
după Cum puteți vedea în imagine, utilizatorii sunt afișate sortate.
Linux listează utilizatorii fără parolă
este important să cunoaștem utilizatorii care nu au parolă și să luăm măsurile corespunzătoare. La lista de utilizatori care nu au o parolă, trebuie doar să utilizați următoarea comandă:
$ sudo getent shadow | grep -Po '^*(?=:.?:)'
folosit regex va lista toți utilizatorii cu nici o parolă.,
listați utilizatorii după utilizarea discului
Dacă aveți un director mare și doriți să știți ce utilizator îl inundă, puteți utiliza comanda du pentru a obține utilizarea discului.cu aceasta, puteți detecta care dintre acești utilizatori utilizează greșit spațiul pe disc.
Pentru asta, este suficient să utilizați următoarea comandă:
$ sudo du -smc /home/* | sort -n
În acest fel, veți avea utilizatorii comandate de utilizare disc pentru directorul /home.
am folosit-n pentru comanda de sortare pentru a sorta ieșirea după numere.,
listați utilizatorii înregistrați în prezent
pentru a lista utilizatorii înregistrați în prezent, avem mai multe modalități de a face acest lucru. Prima metoda putem folosi comanda users:
$ users
acesta va lista utilizatorii cu sesiuni deschise în sistem.
dar această informație este puțin de bază; cu toate acestea, avem o altă comandă care oferă mai multe detalii. Comanda este pur și simplu w.,
$ w
Cu aceasta comanda, putem avea mai multe informații, cum ar fi ora exactă atunci când sesiunea a fost început și sesiune de terminal are disponibile.în cele din urmă, există o comandă numită who. Este disponibil pentru întreaga familie Unix. Deci, îl puteți folosi pe alte sisteme precum FreeBSD.
$ who
cu comanda OMS, avem și câteva informații despre utilizatorii conectați în prezent. Desigur, putem adăuga opțiunea-a și arăta toate detaliile.,
$ who -a
în Acest fel, știi totul despre utilizatorii autentificați.
lista Linux a utilizatorilor care s-au conectat recent la sistem
am văzut cum să obținem utilizatorii conectați în prezent, ce zici de listarea istoricului de conectare al utilizatorilor?,
puteți folosi ultima comandă pentru a obține mai multe informații despre datele de conectare care au avut loc:
$ last
Sau datele de conectare de un anumit utilizator
$ last
De exemplu:
$ last angelo
Acestea sunt autentificare utilizator de activitate și de când a fost început și cât de mult a durat.
listați autentificările utilizatorilor la o anumită dată sau oră
ce se întâmplă cu listarea autentificărilor utilizatorilor la o anumită dată sau oră?, Pentru a realiza acest lucru, vom folosi ultima comanda, dar cu -t parametru:
$ last -t YYMMDDHHMMSS
De exemplu:
$ last -t 20190926110509
Și acum, tot ce trebuie sa faci este sa alegi o data exacta & timp pentru a lista cine s-a logat la acel moment.
Lista tuturor utilizatorilor într-un grup
Există două moduri de a lista membrilor unui grup în Linux, cel mai simplu și mai direct mod este de a obține utilizatorilor din /etc/group fișierul ca aceasta:
$ cat /etc/group | grep likegeeks
Această comandă va lista utilizatorilor în likegeeks grup.,
un alt mod este prin utilizarea de comenzi, cum ar fi comanda membrilor în distribuții bazate pe Debian. Cu toate acestea, nu este instalat implicit în distribuțiile Linux.,
Să-l instalați în Ubuntu / Linux Mint 19, trebuie doar să utilizați APT:
$ sudo apt install members
Sau, în cazul de CentOS:
$ sudo dnf install members
Odată ce este instalat, puteți rula comanda apoi numele de grupul pe care doriți să lista utilizatorilor să:
$ members
De exemplu:
$ members avahi
în Acest fel, puteți lista de utilizatori pentru un grup într-o distribuție bazată pe Debian. Ce zici de o distribuție bazată pe RedHat ca CentOS?,
puteți utiliza următoarea comandă:
$ getent group likegeeks
listați utilizatorii cu UID
în sistemele Unix, fiecare utilizator are un identificator de utilizator sau un ID. Servește la gestionarea și administrarea conturilor intern în sistemul de operare.
În general, UID-urile de la 0 la 1000 sunt pentru utilizatorii de sistem. Și, ulterior, pentru utilizatorii obișnuiți. Întotdeauna pe sistemele Unix, UID zero aparține utilizatorilor root (puteți avea mai mult de un utilizator cu UID de zero).deci, acum, vom lista utilizatorii cu UID-ul lor folosind Awk.,
comanda care efectuează sarcina este următoarea:
$ awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
după Cum puteți vedea, fiecare utilizator cu UID.
listați utilizatorii root
într-un sistem asemănător Unix-ului, cum ar fi Linux, există de obicei un singur utilizator root. Dacă există multe, cum să le enumerăm?
Pentru a face acest lucru, putem folosi această comandă:
$ grep 'x:0:' /etc/passwd
Aici suntem filtrarea fișier pentru a obține utilizatorilor cu UID de zero (utilizatorii de root).,
un Alt mod de verificare /etc/group fișier:
$ grep root /etc/group
Aici suntem obtinerea de utilizatori din grupul root din /etc/grup de fișiere.
de Asemenea, puteți verifica dacă orice utilizator poate executa comenzi ca root prin verificarea /etc/sudoers fișier:
$ cat /etc/sudoers
numărul total de utilizatori
Pentru a obține numărul total de utilizatori în Linux, puteți conta linii în /etc/passwd fișier folosind wc comanda astfel:
$ cut -d: -f1 /etc/passwd | wc -l
Mare! 43 utilizatori., Dar aceasta include sistemul și utilizatorii obișnuiți. Cum rămâne cu obținerea numărului de utilizatori obișnuiți?
ușor! Din moment ce știm de mai sus că utilizatorii obisnuiti au UID de 1000 sau mai mare, putem folosi Awk pentru a le obține:
$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd
Cool!sistemele Linux au un utilitar numit sudo care vă permite să executați comenzi ca și cum ați fi un alt utilizator care este de obicei utilizatorul rădăcină.acest lucru trebuie tratat cu grijă într-un mediu profesional.,de asemenea, este foarte important să știți care utilizatori pot rula comanda sudo. Pentru aceasta, este suficient să enumerați utilizatorii care aparțin grupului sudo.
$ members sudo
Utilizatorii din acest grup poate executa comenzi ca super-utilizatori.
lista utilizatorilor care au acces SSH
SSH permite utilizatorilor să acceseze computere la distanță printr-o rețea. Este destul de sigur și sa născut ca înlocuitor pentru Telnet.
în mod implicit, toți utilizatorii obișnuiți se pot conecta și utiliza SSH., Dacă doriți pentru a limita acest lucru, puteți utiliza SSH fișier de configurare (/etc/ssh/ssh_config) și se adaugă următoarele directive:
AllowUsers user1 user2 user3
de Asemenea, puteți permite grupuri în loc de a permite utilizatorilor folosind doar AllowGroups directivă:
AllowGroups group1 group2 group3
Aceste directive definesc cine poate accesa serviciul. Nu uitați să reporniți serviciul SSH.
lista utilizatorilor care au permisiuni pentru un fișier sau director
putem da mai mult de un utilizator permisiunea de a accesa sau modifica fișiere & directoare în două moduri.,
prima metodă este prin adăugarea de utilizatori la grupul fișierului sau directorului.
în acest fel, putem lista membrii grupului folosind utilitarul membri așa cum se arată mai sus.
bine, dar dacă vrem ca acest utilizator să aibă acces doar la acest fișier specific (nu toate permisiunile de grup)?
Aici putem seta ACL pentru acest fișier folosind setfacl comanda de genul asta:
$ setfacl -m u:newuser:rwx myfile
Aici vom da utilizatorul numit newser permisiunea pentru numește fișierul myfile permisiunile de citire & scrie & executa.,acum, fișierul poate fi accesat sau modificat de către proprietar, iar utilizatorul numit newuser. Deci, cum să le enumerăm?
le putem lista folosind comanda getfacl astfel:
$ getfacl myfile
această comandă va lista Toți utilizatorii care au permisiuni pentru fișier cu permisiunile corespunzătoare.în Linux, ca măsură de securitate, putem bloca utilizatorii. Aceasta ca măsură de precauție dacă se suspectează că utilizatorul face lucruri greșite și nu doriți să îl eliminați complet și să îl blocați doar pentru investigații.,pentru a bloca un utilizator, puteți utiliza următoarea comandă:
$ usermod -L myuser
Acum, utilizatorul numit myuser nu va mai putea să se conecteze sau să utilizeze sistemul.pentru a lista Toți utilizatorii blocați ai sistemului, trebuie doar să folosiți următoarea comandă:
$ cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked
aceasta va imprima toți utilizatorii blocați, inclusiv utilizatorii sistemului. Ce zici de listarea numai a utilizatorilor obișnuiți?așa cum am văzut mai sus, folosind Awk, putem bloca utilizatorii obișnuiți astfel:
$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked
foarte ușor!,
listarea utilizatorilor la distanță (LDAP)
bine, acum pot lista Toți utilizatorii de sistem (utilizatori locali), dar ce se întâmplă cu utilizatorii la distanță sau utilizatorii LDAP? Ei bine, putem folosi un instrument ca ldapsearch, dar există vreo altă cale?
Din fericire da! Puteți lista locală & utilizatorii de la distanță cu o singură comandă numit getent
$ getent passwd
Aceasta comanda listele locale de sistem și utilizatori LDAP sau NIS utilizatori sau orice alți utilizatori de rețea.
puteți trimite rezultatele acestei comenzi la oricare dintre comenzile menționate mai sus în același mod.,
de Asemenea, getent comandă poate listă conturile de grup astfel:
$ getent group
puteți verifica pagina de comanda a cunoaște alte baze de date comanda poate de căutare în.
concluzie
listarea utilizatorilor în sistemul Linux a fost distractiv! Pe lângă aceasta, am învățat câteva sfaturi despre utilizatori și cum să le gestionăm în moduri diferite.în cele din urmă, aceste cunoștințe vor permite o mai bună administrare a utilizatorilor sistemului.sper că veți găsi tutorialul util. Continuă să te întorci.,
Fondator al LikeGeeks. Lucrez ca administrator de sistem Linux din 2010. Sunt responsabil pentru întreținerea, securizarea și depanarea serverelor Linux pentru mai mulți clienți din întreaga lume. Îmi place să scriu scripturi shell și Python pentru a-mi automatiza munca.