i Linux är en grupp en samling användare. Huvudsyftet med grupperna är att definiera en uppsättning privilegier som Läs -, skriv-eller körbehörighet för en viss resurs som kan delas mellan användarna i gruppen. Användare kan läggas till i en befintlig grupp för att utnyttja de privilegier som den beviljar.
denna handledning förklarar hur du visar alla grupper en användare är medlem i. Vi kommer också att förklara hur man listar alla medlemmar i en grupp.,
Linux Groups #
det finns två typer av grupper som en användare kan tillhöra:
-
primär eller inloggningsgrupp – är den grupp som tilldelas de filer som skapas av användaren. Vanligtvis är namnet på den primära gruppen detsamma 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 ge vissa privilegier till en uppsättning användare. En användare kan vara medlem i noll eller flera sekundära grupper.,
lista alla grupper en användare är medlem i #
det finns flera sätt att ta reda på vilka grupper en användare tillhör.
den primära användarens grupp lagras i filen/etc/passwd
och eventuella tilläggsgrupper listas i filen/etc/group
.
ett sätt att hitta användarens grupper är att lista innehållet i dessa filer med cat
, less
eller grep
., Ett annat enklare alternativ är att använda ett kommando vars syfte är att ge information om systemets användare och grupper.
använda kommandot grupper #
det mest minnesvärda kommandot för att lista alla grupper en användare är medlem i är kommandot groups
. När kommandot körs utan ett argument skriver kommandot ut en lista över alla grupper som den 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 en specifik användare tillhör, ange användarnamnet till kommandotgroups
som ett argument:
groups linuxize
samma som innan den första gruppen är den primära gruppen.
linuxize : linuxize sudo
med kommandot id #
kommandotid
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ändaren linuxize
du skulle skriva:
id linuxize
kommandot kommer att visa användar-ID (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 bara skriva ut namnen istället för siffrorna, använd alternativet -n
. Alternativ -g
kommer endast att skriva ut den primära gruppen och-G
alla grupper.,
följande kommando kommer att skriva ut namnen på grupperna den aktuella användaren är medlem i:
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 kommandotgetent group
följt av gruppnamnet.,
för att ta reda på medlemmarna i en grupp med namnetdevelopers
skulle du använda 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 som innebär att gruppen inte existerar.
lista alla grupper #
för att visa alla grupper som finns på systemet, öppna helt enkelt filen/etc/group
. Varje rad i den här filen representerar information för en grupp.,
less /etc/group
ett annat alternativ är att använda kommandotgetent
som visar poster från databaser konfigurerade i filen/etc/nsswitch.conf
inklusive databasengroup
som vi kan använda för att fråga en lista över alla grupper.
för att få en lista över alla grupper, skriv följande kommando:
getent group
utmatningen är densamma som vid visning av innehållet i filen/etc/group
., Om du använder LDAP för användarautentisering kommergetent
att visa alla grupper från både/etc/group
– filen och LDAP-databasen.
Du kan också använda awk
eller cut
för att skriva ut endast det första fältet som innehåller namnet på gruppen:
getent group | awk -F: '{ print $1}'
getent group | cut -d: -f1
slutsats #
i den här handledningen lärde du dig att hitta grupper som en användare är en användare av ledamot av. Samma kommandon gäller för alla Linux-distribution, inklusive Ubuntu, CentOS, RHEL, Debian och Linux Mint.