Android

Cum să listați grupurile în linux

Install Programs on Linux | Linux Basics

Install Programs on Linux | Linux Basics

Cuprins:

Anonim

În Linux, un grup este o colecție de utilizatori. Scopul principal al grupurilor este de a defini un set de privilegii precum citirea, scrierea sau executarea permisiunii pentru o anumită resursă care poate fi partajată între utilizatorii din cadrul grupului. Utilizatorii pot fi adăugați la un grup existent pentru a utiliza privilegiile pe care le acordă.

Acest tutorial explică cum să arătați toate grupurile la care un utilizator este membru. Vom explica, de asemenea, cum să enumerați toți membrii unui grup.

Grupuri Linux

Există două tipuri de grupuri la care un utilizator poate aparține:

  • Grup primar sau de conectare - este grupul care este atribuit fișierelor create de utilizator. De obicei, numele grupului primar este același cu numele utilizatorului. Fiecare utilizator trebuie să aparțină exact unui grup primar.

    Grup secundar sau suplimentar - folosit pentru a acorda anumite privilegii unui set de utilizatori. Un utilizator poate fi membru al zero sau mai multe grupuri secundare.

Enumerați toate grupurile la care un utilizator este membru

Există mai multe modalități de a afla grupurile din care face parte un utilizator.

Grupul utilizatorului principal este stocat în /etc/passwd iar grupurile suplimentare, dacă există, sunt listate în fișierul /etc/group .

O modalitate de a găsi grupurile utilizatorilor este de a enumera conținutul acelor fișiere folosind cat , less sau grep . O altă opțiune mai ușoară este utilizarea unei comenzi al căror scop este furnizarea de informații despre utilizatorii și grupurile sistemului.

Folosind comanda groups

Cea mai memorabilă comandă de listare a tuturor grupurilor la care este membru un utilizator este comanda groups . Când este executat fără argument, comanda va tipări o listă a tuturor grupurilor la care utilizatorul conectat în prezent aparține:

groups

Primul grup este grupul primar.

john adm cdrom sudo dip plugdev lpadmin sambashare

Pentru a obține o listă a tuturor grupurilor din care face parte un anumit utilizator, furnizați numele de utilizator comenzii groups ca argument:

groups linuxize

La fel ca înainte de primul grup este grupul primar.

linuxize: linuxize sudo

Folosind comanda id

Comanda id imprimă informații despre utilizatorul specificat și grupurile sale. Dacă numele de utilizator este omis, acesta afișează informații pentru utilizatorul curent.

De exemplu, pentru a obține informații despre linuxize utilizatorului, introduceți:

id linuxize

Comanda va afișa numele de utilizator ( uid ), grupul principal ( gid ) al utilizatorului și grupurile ( groups ) secundare ale utilizatorului.

uid=1001(linuxize) gid=1001(linuxize) groups=1001(linuxize), 27(sudo)

Pentru a imprima doar numele fără ID-uri de utilizator și de grup, utilizați opțiunea -n . Opțiunea -g va tipări doar grupul primar și -G toate grupurile.

Următoarea comandă va tipări numele grupurilor din care utilizatorul curent este membru:

id -nG

john adm cdrom sudo dip plugdev lpadmin sambashare

Lista tuturor membrilor unui grup

Pentru a enumera toți membrii unui grup, utilizați comanda getent group urmată de numele grupului.

De exemplu, pentru a afla membrii unui grup cu developers nume, utilizați următoarea comandă:

getent group developers

Dacă grupul există, comanda va tipări grupul și toți membrii săi:

developers:x:126:frank, mary

Dacă nu există ieșire, înseamnă că grupul nu există.

Listează toate grupurile

Pentru a vizualiza toate grupurile prezente în sistem, pur și simplu deschideți /etc/group . Fiecare linie din acest fișier reprezintă informații pentru un grup.

less /etc/group

O altă opțiune este să folosiți comanda getent care afișează intrările din bazele de date configurate în fișierul /etc/nsswitch.conf inclusiv baza de date a group care o putem folosi pentru a interoga o listă a tuturor grupurilor.

Pentru a obține o listă a tuturor grupurilor, tastați următoarea comandă:

getent group

Ieșirea este aceeași ca atunci când se afișează conținutul fișierului /etc/group . Dacă utilizați LDAP pentru autentificarea utilizatorului, getent va afișa toate grupurile din fișierul /etc/group și din baza de date LDAP.

Puteți utiliza, de asemenea, awk sau cut pentru a imprima doar primul câmp care conține numele grupului:

getent group | awk -F: '{ print $1}'

getent group | cut -d: -f1

Concluzie

În acest tutorial, ați învățat cum să găsiți grupurile la care un utilizator este membru. Aceleași comenzi se aplică pentru orice distribuție Linux, inclusiv Ubuntu, CentOS, RHEL, Debian și Linux Mint.

Simțiți-vă liber să lăsați un comentariu dacă aveți întrebări.

Terminal