Android

Hur man listar grupper i Linux

5 metoder för att tjäna pengar på Fiverr utan färdigheter via KOPIERA & PASTA (Och hur man rank...

5 metoder för att tjäna pengar på Fiverr utan färdigheter via KOPIERA & PASTA (Och hur man rank...

Innehållsförteckning:

Anonim

I Linux är en grupp en samling användare. Det huvudsakliga syftet med grupperna är att definiera en uppsättning privilegier som att läsa, skriva eller utföra behörighet för en given resurs som kan delas mellan användare i gruppen. Användare kan läggas till i en befintlig grupp för att utnyttja de privilegier som den ger.

Denna handledning förklarar hur man visar alla grupper som en användare är medlem av. Vi kommer också att förklara hur man listar alla medlemmar i en grupp.

Linux-grupper

Det finns två typer av grupper som en användare kan tillhöra:

  • Primär- eller inloggningsgrupp - är gruppen som tilldelas filerna som skapas av användaren. Vanligtvis är namnet på den primära gruppen samma som användarens namn. Varje användare måste tillhöra exakt en primär grupp.

    Sekundär eller kompletterande grupp - används för att bevilja vissa behörigheter till en uppsättning användare. En användare kan vara medlem i noll eller fler sekundära grupper.

Lista alla grupper som en användare är medlem av

Det finns flera sätt att ta reda på vilka grupper en användare tillhör.

Den primära användargruppen lagras i /etc/passwd och eventuella kompletterande grupper anges i /etc/group .

Ett sätt att hitta användarens grupper är att lista innehållet i de filerna med cat , less eller grep . Ett annat enklare alternativ är att använda ett kommando vars syfte är att tillhandahålla information om systemets användare och grupper.

Använd gruppkommandot

Det mest minnesvärda kommandot för att lista alla grupper som en användare är medlem av är gruppkommandot. När det körs utan ett argument kommer kommandot att skriva ut en lista över alla grupper som den för närvarande inloggade användaren tillhör:

groups

Den första gruppen är den primära gruppen.

john adm cdrom sudo dip plugdev lpadmin sambashare

För att få en lista över alla grupper som en specifik användare tillhör, ange användarnamnet till gruppkommandot som ett argument:

groups linuxize

Samma som innan den första gruppen är den primära gruppen.

linuxize: linuxize sudo

Med id kommandot

id kommandot skriver ut information om den angivna användaren och dess grupper. Om användarnamnet utelämnas visar det information för den aktuella användaren.

Till exempel för att få information om användarlinuxize linuxize du skriva:

id linuxize

Kommandot visar användarnamn ( uid ), användarens primära grupp ( gid ) och användarens sekundära grupper ( groups )

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

För att skriva ut bara namnen utan användar- och grupp-ID använder du alternativet -n . Alternativ -g kommer endast att skriva ut den primära gruppen och -G alla grupper.

Följande kommando skriver ut namnen på de grupper som den nuvarande användaren är medlem av:

id -nG

john adm cdrom sudo dip plugdev lpadmin sambashare

Lista alla medlemmar i en grupp

För att lista alla medlemmar i en grupp, använd getent group följt av gruppnamnet.

För att ta reda på medlemmarna i en grupp med namnutvecklarna använder du följande kommando:

getent group developers

Om gruppen finns kommer kommandot att skriva ut gruppen och alla dess medlemmar:

developers:x:126:frank, mary

Om det inte finns någon utgång betyder det att gruppen inte finns.

Lista alla grupper

Öppna /etc/group att se alla grupper som finns på systemet. Varje rad i den här filen representerar information för en grupp.

less /etc/group

Ett annat alternativ är att använda getent kommandot som visar poster från databaser konfigurerade i /etc/nsswitch.conf inklusive /etc/nsswitch.conf som vi kan använda för att fråga en lista över alla grupper.

För att få en lista över alla grupper skriver du följande kommando:

getent group

Utmatningen är densamma som när innehållet i /etc/group visas. Om du använder LDAP för användarautentisering kommer getent att visa alla grupper från både /etc/group gruppfil och LDAP-databas.

Du kan också använda awk eller cut att bara skriva ut det första fältet som innehåller gruppens namn:

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

getent group | cut -d: -f1

Slutsats

I denna handledning lärde du dig att hitta de grupper en användare är medlem i. Samma kommandon gäller för all Linux-distribution, inklusive Ubuntu, CentOS, RHEL, Debian och Linux Mint.

Lämna gärna en kommentar om du har några frågor.

terminal