Android

Sådan vises grupper i linux

Manage User Privileges on Your Synology NAS | Synology

Manage User Privileges on Your Synology NAS | Synology

Indholdsfortegnelse:

Anonim

I Linux er en gruppe en samling af brugere. Hovedformålet med grupperne er at definere et sæt privilegier som læse, skrive eller udføre tilladelse til en given ressource, der kan deles mellem brugerne i gruppen. Brugere kan føjes til en eksisterende gruppe for at udnytte de privilegier, den giver.

Denne tutorial forklarer, hvordan man viser alle grupper, som en bruger er medlem af. Vi vil også forklare, hvordan man viser en liste over alle medlemmer af en gruppe.

Linux-grupper

Der er to typer grupper, som en bruger kan tilhøre:

  • Primær eller login-gruppe - er den gruppe, der er tildelt de filer, der er oprettet af brugeren. Normalt er navnet på den primære gruppe det samme som brugerens navn. Hver bruger skal tilhøre nøjagtigt en primær gruppe.

    Sekundær eller supplerende gruppe - bruges til at give visse privilegier til et sæt brugere. En bruger kan være medlem af nul eller flere sekundære grupper.

Liste over alle grupper, som en bruger er medlem af

Der er flere måder at finde ud af hvilke grupper en bruger tilhører.

Den primære brugers gruppe gemmes i filen /etc/passwd , og eventuelle supplerende grupper er anført i filen /etc/group .

En måde at finde brugerens grupper på er at liste indholdet af disse filer ved hjælp af cat , less eller grep . En anden lettere mulighed er at bruge en kommando, hvis formål er at give information om systemets brugere og grupper.

Brug af kommandoen groups

Den mest mindeværdige kommando til at liste alle grupper, som en bruger er medlem af, er gruppekommandoen. Når der udføres uden et argument, vil kommandoen udskrive en liste over alle grupper, som den aktuelt loggede bruger tilhører:

groups

Den første gruppe er den primære gruppe.

john adm cdrom sudo dip plugdev lpadmin sambashare

For at få en liste over alle grupper, som en bestemt bruger hører til, skal du angive brugernavnet til gruppekommandoen som et argument:

groups linuxize

Samme som før den første gruppe er den primære gruppe.

linuxize: linuxize sudo

Brug af id kommandoen

id kommandoen udskriver information om den specificerede bruger og dens grupper. Hvis brugernavnet udelades, viser det oplysninger for den aktuelle bruger.

For eksempel for at få oplysninger om brugerlinuxize linuxize du:

id linuxize

Kommandoen viser brugernavnet ( uid ), brugerens primære gruppe ( gid ) og brugerens sekundære grupper ( groups )

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

Hvis du kun skal udskrive navnene uden bruger- og gruppe-id'er, skal du bruge indstillingen -n . Option -g udskriver kun den primære gruppe og -G alle grupper.

Følgende kommando udskriver navnene på de grupper, den aktuelle bruger er medlem af:

id -nG

john adm cdrom sudo dip plugdev lpadmin sambashare

Liste over alle medlemmer af en gruppe

Hvis du vil liste alle medlemmer af en gruppe, skal du bruge getent group kommandoen efterfulgt af gruppenavnet.

For at finde ud af medlemmerne af en gruppe med developers vil du bruge følgende kommando:

getent group developers

Hvis gruppen findes, udskriver kommandoen gruppen og alle dens medlemmer:

developers:x:126:frank, mary

Hvis der ikke er noget output, betyder det, at gruppen ikke findes.

Liste over alle grupper

For at se alle grupper, der findes på systemet, skal du blot åbne filen /etc/group . Hver linje i denne fil repræsenterer information for en gruppe.

less /etc/group

En anden mulighed er at bruge getent kommandoen, der viser poster fra databaser, der er konfigureret i /etc/nsswitch.conf , herunder group som vi kan bruge til at spørge en liste over alle grupper.

For at få en liste over alle grupper, skriv følgende kommando:

getent group

Outputet er det samme som ved visning af indholdet i /etc/group gruppefilen. Hvis du bruger LDAP til brugergodkendelse, vil getent vise alle grupper fra både /etc/group getent og LDAP-database.

Du kan også bruge awk eller cut til kun at udskrive det første felt, der indeholder navnet på gruppen:

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

getent group | cut -d: -f1

Konklusion

I denne tutorial lærte du, hvordan man finder de grupper, en bruger er medlem af. De samme kommandoer gælder for enhver Linux-distribution, herunder Ubuntu, CentOS, RHEL, Debian og Linux Mint.

Du er velkommen til at give en kommentar, hvis du har spørgsmål.

terminal