Den här artikeln visar hur du kontrollerar vilka grupper en användare tillhör Linux operativsystem. Vi introducerar några begrepp relaterade till ämnet och beskriver sedan hur man gör det med hjälp av grupper kommando tillgänglig på terminalen.
Grupper i Linux
Alla Linux-operativsystem är designade som operativsystem för flera användare . Detta innebär att de tillhandahåller möjligheter och relaterade verktyg för att skapa och hantera flera användare inom ett system. Ett sådant verktyg är användargrupper. En användargrupp är helt enkelt en samling användare. Det är praktiskt när en systemadministratör vill hantera flera användare samtidigt (särskilt för hantering av behörigheter). Vi definierar en regel för gruppen och den gäller automatiskt för alla dess medlemsanvändare.
Syntax:
$ sudo useradd>
När en ny användare skapas skapas en ny grupp med samma namn och användaren läggs till i den. Denna grupp kallas användarens primära grupp. Till exempel skapar vi en användare som heter demoUser3 i följande skärmdump från terminalen:
sudo groupadd demo_group sudo useradd demo_user sudo groupmod -a -U demo_user demo_group groups demo_user>

Skapa en grupp, en användare och lägga till användaren i gruppen.
Vi använder kommandot grupper (vilket vi kommer att förklara i detalj i nästa avsnitt) för att se användarens grupper och märka att det är i en grupp som heter demoUser3 som förväntat. Vi kan lägga till användaren i andra grupper med kommandot -
$ sudo groupmod -a -U>
Var vill vi lägga till det angivna användarnamnet till det angivna gruppnamnet? När användaren läggs till i en grupp på detta sätt kallas det en sekundär grupp för användaren. Med andra ord, alla grupper som användaren tillhör förutom hans/hennes primära grupp kallas hans/hennes sekundära grupper.
En användare kan vara närvarande i en primär grupp och så många sekundära grupper som behövs. All grupprelaterad information finns i /etc/group fil.
Hur kontrollerar man vilka grupper en användare tillhör i Linux?
Nedan är metoderna genom vilka vi kan kontrollera vilka grupper en användare tillhör i Linux operativsystem:
Metod 1: Kommandot grupper
För att se listan över grupper (både primära och sekundära) som en användare tillhör kan vi använda grupper kommando. Kommandot är en del av 'GNU coreutils', därför krävs ingen installation. Man kan öppna terminalen och börja använda den. Den distribueras under ' GPLv3+ ' mjukvarulicens .
Öppna terminalen och skriv in följande kommando för att se om det fungerar:
$ groups --version>
Detta matar ut versionsinformationen på terminalen.
Syntax:
$ sudo groups []>
Detta innebär att kommandot kan användas med eller utan att ange ett användarnamn. Om användarnamnet anges listar det alla grupper som det angivna användarnamnet tillhör. Om användarnamnet inte anges listar det alla grupper som aktiv/aktuell användaren tillhör.
Exempel 1: Använda kommandot grupper med ett användarnamn
$ groups liveuser>
Följande skärmdump visar det liveanvändare finns i liveanvändare & hjul grupper –

Grupper som användaren liveuser tillhör.
Söker lista över grupper för några andra användare säger demoAnvändare1 –
$ groups demoUser1>
Följande skärmdump visar det demoAnvändare1 finns i demoAnvändare1 , DemoGroup & Demogrupp 2 grupper:

Använda kommandot grupper med användarnamn, exempel 2
javascript utskrift
Exempel 2: Använda kommandot grupper utan användarnamn
$ groups>
Följande skärmdump visar resultatet:

Använder kommandot grupper utan användarnamn.
Se att utgången är densamma som utgången för liveanvändare som förväntat (eftersom liveuser är den aktiva användaren).
Metod 2: id-kommandot
Detta är vårt andra alternativ. De id kommando skapas för att hämta id-uppgifterna för en användare. Det kommer förinstallerat med Linux och kan användas på terminalen direkt. Ingen installation behövs. Vi kan utnyttja det för att hämta grupperna en användare tillhör med hjälp av följande syntax:
Syntax:
id -G -n>
- -G: De -G flaggan talar om att hämta alla grupp-ID:n för användaren och
- -n: De -n flaggan talar om att mata ut namnen på grupperna (annars skulle den mata ut grupp-ID:n).
Till exempel visar följande skärmdump hur man hämtar grupperna för demoAnvändare1 använder kommandot id:
id -G -n demoUser1>

Använda kommandot id för att hämta de grupper en användare tillhör.
Metod 3: /etc/group-filen
Detta är vårt tredje alternativ. Som tidigare nämnts /etc/group filen innehåller all gruppinformation, och därför kan vi naturligtvis hämta all grupprelaterad information från den, inklusive att kontrollera vilka grupper en användare tillhör.
1. Inmatningsformat i filen /etc/group
Varje rad innehåller informationen för en separat grupp. Varje rad har följande format:
Group-Name:Password:Group-id:Usernames belonging to this group separated by comma or user-list>
2. Söker manuellt i /etc/group-filen
Använd ett av följande kommandon som du vill för att mata ut innehållet i filen/etc/group på skärmen:
1. less etc/group 2. more etc/group 3. cat etc/group>
Lista nu alla grupper där gruppnamn är detsamma som användarnamnet (detta är användarens primära grupp) eller där användarlistan innehåller användarnamnet (detta är användarens sekundära grupper). Här är ett exempel på en skärmdump av utdata från poster på skärmen –
nätverksarkitektur

Innehållet i filen /etc/group.
Denna process är dock tråkig och mycket ineffektiv eftersom filen är stor. Vi tar upp detta i nästa avsnitt.
Exempel 1: Använda kommandot grep för att söka
Även grep kommando är förinstallerad, så ingen installation krävs. grepp kommandot används för mönstermatchning i strängar. Vi använder det här för att bara skriva ut de raderna från /etc/group fil där vårt berörda användarnamn visas, med denna syntax:
Syntax:
$ grep -w /etc/group>
De -I flaggan används här för att styra den till att endast mata ut de rader som innehåller användarnamnet. Här är ett exempel på en skärmdump där vi hämtar grupperna demoAnvändare1 tillhör:
grep -w demoUser1 /etc/group>

Använd kommandot grep för att enkelt hämta gruppinformation från filen/etc/group.
Läs nu bara gruppnamnen på alla dessa rader för att få listan över grupper som användarnamnet tillhör. För ovanstående skärmdump är det [demoUser1, DemoGroup, DemoGroup].
Metod 4: kommandot getent
Detta är vårt fjärde alternativ. De gegent kommando används för att få in posterna för många viktiga filer i ett Linux-system som lösenordsfiler, nätverksfiler, etc. inklusive /etc/group filer. Så vi kan skriva följande kommando för att få posterna i /etc/group fil på skärmen och sök sedan manuellt som vi gjorde i förra avsnittet:
Syntax:
$ getent group>
Men vi stöter på samma problem – att söka manuellt. Och lösningen är densamma också - använd kommandot grep! Vi bara rör ut utmatningen av kommandot getent till kommandot grep som styr grep att endast mata ut de rader där det berörda användarnamnet visas. Här är syntaxen:
Syntax:
$ getent group|grep -w>
Här är en skärmdump med ovanstående tillvägagångssätt för att få grupperna till vilka demoAnvändare1 tillhör
getent group|grep -w demoUser1>

Använda intent- och grep-kommandon tillsammans för att hämta de grupper som användaren tillhör.
Läs nu bara gruppnamnen från alla rader som gjort tidigare för att få listan över grupper som användarnamnet tillhör.
Vanliga frågor
1. Hur kontrollerar jag vilka grupper en användare tillhör i Linux?
För att kontrollera vilka grupper en användare tillhör i Linux kan du använda
groups>kommandot följt av användarnamnet.Till exempel:
groups username>Detta kommando visar en lista över grupper som den angivna användaren tillhör.
2. Vad är kommandot för att lista alla grupper som en användare är medlem i i Linux?
Kommandot för att lista alla grupper som en användare är medlem i i Linux är:
id -Gn username>De
id>kommandot med-Gn>alternativet tillhandahåller en blankstegsseparerad lista med gruppnamn för den angivna användaren.
3. Kan jag kontrollera gruppmedlemskap för flera användare samtidigt i Linux?
Ja, du kan kontrollera gruppmedlemskap för flera användare samtidigt genom att tillhandahålla flera användarnamn till
groups>ellerid>kommando.Till exempel:
groups username1 username2>Detta kommando visar grupperna för båda `
username1`>och `username2`>.
4. Hur tar man reda på den primära gruppen för en användare i Linux?
För att ta reda på den primära gruppen för en användare i Linux kan du använda `
id`>kommandot med `-gn`>alternativ.Till exempel:
id -gn username>Detta kommer att mata ut det primära gruppnamnet för den angivna användaren.
5. Finns det några grafiska verktyg eller applikationer för att kontrollera användargruppsinformation i Linux?
Ja, det finns grafiska verktyg tillgängliga för att kontrollera användargruppsinformation i Linux. Ett sådant verktyg är Användare och grupper eller Användarkonton i systeminställningarna i skrivbordsmiljöer som GNOME eller KDE. Alternativt verktyg som `
gpasswd`>tillhandahålla ett grafiskt gränssnitt för att hantera användargrupper.
Slutsats
I Linux är det en enkel process att fastställa vilka grupper som en användare tillhör en enkel process som kan utföras med hjälp av grupper kommandot eller id -Gn kommando. Dessa kommandon ger ett snabbt sätt att hämta en lista över alla grupper som är associerade med en specifik användare. Denna information är avgörande för både systemadministratörer och användare eftersom den hjälper till att hantera fil- och katalogbehörigheter, tillåta eller begränsa åtkomst till resurser och säkerställa systemets säkerhet och integritet.