logo

Hoe controleer ik tot welke groepen een gebruiker behoort in Linux?

Dit artikel laat zien hoe u kunt controleren tot welke groepen een gebruiker behoort Linux besturingssystemen. We introduceren enkele concepten die verband houden met het onderwerp en beschrijven vervolgens hoe u dit kunt doen met behulp van de groepen commando beschikbaar op de terminal.

Groepen in Linux

Alle Linux-besturingssystemen zijn ontworpen als besturingssystemen voor meerdere gebruikers . Dit betekent dat ze de mogelijkheden en gerelateerde tools bieden om meerdere gebruikers binnen een systeem te creëren en te beheren. Een voorbeeld van zo'n tool zijn gebruikersgroepen. Een gebruikersgroep is eenvoudigweg een verzameling gebruikers. Het is handig als a systeem administrator wil met meerdere gebruikers tegelijk omgaan (vooral voor het afhandelen van machtigingen). We definiëren een regel voor de groep en deze is automatisch van toepassing op alle aangesloten gebruikers.



singleton ontwerppatroon java

Syntaxis:

$ sudo useradd>

Wanneer een nieuwe gebruiker wordt aangemaakt, wordt er een nieuwe groep met dezelfde naam gemaakt en wordt de gebruiker hieraan toegevoegd. Deze groep wordt de primaire groep van de gebruiker genoemd. We maken bijvoorbeeld een gebruiker met de naam demoGebruiker3 in de volgende schermafbeelding van de terminal:

sudo groupadd demo_group sudo useradd demo_user sudo groupmod -a -U demo_user demo_group groups demo_user>
Een groep en een gebruiker aanmaken en de gebruiker aan de groep toevoegen.

Een groep en een gebruiker aanmaken en de gebruiker aan de groep toevoegen.

We gebruiken het commando groepen (dat we in de volgende sectie in detail zullen uitleggen) om de groepen van de gebruiker te zien en te merken dat deze zich in een groep bevindt met de naam demoGebruiker3 zoals verwacht. We kunnen de gebruiker aan andere groepen toevoegen met behulp van de opdracht –



$ sudo groupmod -a -U>

Waar willen we de opgegeven gebruikersnaam toevoegen aan de opgegeven groepsnaam? Wanneer de gebruiker op deze manier aan een groep wordt toegevoegd, wordt dit een secundaire groep van de gebruiker genoemd. Met andere woorden: alle groepen waartoe de gebruiker behoort, behalve zijn/haar primaire groep, worden zijn/haar secundaire groepen genoemd.

Een gebruiker kan aanwezig zijn in één primaire groep en in zoveel secundaire groepen als nodig is. Alle groepsgerelateerde informatie is aanwezig in de /etc/groep bestand.

Hoe controleer ik tot welke groepen een gebruiker behoort in Linux?

Hieronder staan ​​de methoden waarmee we kunnen controleren tot welke groepen een gebruiker behoort in het Linux-besturingssysteem:



Methode 1: Het groepscommando

Om de lijst met groepen (zowel primaire als secundaire) te zien waartoe een gebruiker behoort, kunnen we de groepen commando. De opdracht is een onderdeel van 'GNU coreutils', daarom is er geen installatie vereist. U kunt de terminal openen en deze gaan gebruiken. Het wordt verspreid onder de ‘ GPLv3+ ' softwarelicentie .

Open de terminal en typ het volgende commando om te zien of het werkt:

$ groups --version>

Hierdoor wordt de versie-informatie op de terminal weergegeven.

Syntaxis:

$ sudo groups []>

Dit betekent dat de opdracht kan worden gebruikt met of zonder het opgeven van een gebruikersnaam. Als de gebruikersnaam wordt opgegeven, worden alle groepen vermeld waartoe de opgegeven gebruikersnaam behoort. Als de gebruikersnaam niet wordt opgegeven, worden alle groepen vermeld waarvoor de actief/huidig gebruiker behoort.

Voorbeeld 1: Groepenopdracht gebruiken met een gebruikersnaam

$ groups liveuser>

De volgende schermafbeelding laat dat zien livegebruiker is aanwezig in de livegebruiker & wiel groepen –

Groepen waartoe gebruiker liveuser behoort.

Groepen waartoe de gebruiker liveuser behoort.

Zoeklijst met groepen voor enkele andere gebruikers zegt demoGebruiker1

$ groups demoUser1>

De volgende schermafbeelding laat dat zien demoGebruiker1 is aanwezig demoGebruiker1 , Demogroep & DemoGroep2 groepen:

Groepenopdracht gebruiken met gebruikersnaam, voorbeeld 2

Groepenopdracht gebruiken met gebruikersnaam, voorbeeld 2

Voorbeeld 2: Groepenopdracht gebruiken zonder gebruikersnaam

$ groups>

De volgende schermafbeelding toont de uitvoer:

Groepenopdracht gebruiken zonder gebruikersnaam.

Groepenopdracht gebruiken zonder gebruikersnaam.

Zorg ervoor dat de uitvoer hetzelfde is als de uitvoer voor livegebruiker zoals verwacht (omdat liveuser de actieve gebruiker is).

Methode 2: Het id-commando

Dit is ons tweede alternatief. De ID kaart commando is gemaakt om de ID-gegevens van een gebruiker op te halen. Het wordt vooraf geïnstalleerd met Linux en kan meteen op de terminal worden gebruikt. Er is geen installatie nodig. We kunnen het gebruiken om de groepen op te halen waartoe een gebruiker behoort met behulp van de volgende syntaxis:

Syntaxis:

id -G -n>
  • -G: De -G flag vertelt dat alle groeps-ID's van de gebruiker moeten worden opgehaald en
  • -N: De -N flag vertelt om de namen van groepen uit te voeren (anders zouden groeps-ID's worden uitgevoerd).

In de volgende schermafbeelding ziet u bijvoorbeeld het ophalen van de groepen van demoGebruiker1 met behulp van het id-commando:

id -G -n demoUser1>
Het id-commando gebruiken om de groepen op te halen waartoe een gebruiker behoort.

Het id-commando gebruiken om de groepen op te halen waartoe een gebruiker behoort.

Methode 3: Het /etc/group-bestand

Dit is ons derde alternatief. Zoals eerder vermeld is de /etc/groep bestand bevat alle groepsinformatie, dus we kunnen er uiteraard alle groepsgerelateerde informatie uit ophalen, inclusief het controleren van de groepen waartoe een gebruiker behoort.

1. Invoerformaat in /etc/group-bestand

Elke regel bevat de informatie voor een afzonderlijke groep. Elke regel heeft het volgende formaat:

Group-Name:Password:Group-id:Usernames belonging to this group separated by comma or user-list>

2. Handmatig zoeken naar /etc/group-bestand

Gebruik naar wens een van de volgende opdrachten om de inhoud van het bestand /etc/group op het scherm weer te geven:

1.   less   etc/group 2.   more   etc/group 3.   cat   etc/group>

Vermeld nu alle groepen waarbij groepsnaam hetzelfde is als de gebruikersnaam (dit is de primaire groep van de gebruiker) of de gebruikerslijst bevat de gebruikersnaam (dit zijn de secundaire groepen van de gebruiker). Hier is een voorbeeldscreenshot van de uitvoer van vermeldingen op het scherm –

Inhoud van /etc/group-bestand.

Inhoud van /etc/group-bestand.

Dit proces is echter vervelend en zeer inefficiënt omdat het bestand groot is. We behandelen dit in de volgende sectie.

Voorbeeld 1: Het grep-commando gebruiken om te zoeken

Zelfs de grep-opdracht is vooraf geïnstalleerd en er is dus geen installatie vereist. greep commando wordt gebruikt voor patroonmatching in strings. We gebruiken het hier om alleen die regels uit de /etc/groep bestand waarin onze betrokken gebruikersnaam verschijnt, met behulp van deze syntaxis:

Syntaxis:

$ grep -w /etc/group>

De -In flag wordt hier gebruikt om ervoor te zorgen dat alleen de regels worden weergegeven die de gebruikersnaam bevatten. Hier is een voorbeeldscreenshot waarin we de groepen verkrijgen demoGebruiker1 hoort bij:

grep -w demoUser1 /etc/group>
Gebruik het grep-commando om gemakkelijk groepsinformatie op te halen uit het bestand /etc/group.

Gebruik het grep-commando om gemakkelijk groepsinformatie op te halen uit het bestand /etc/group.

oeps concepten

Lees nu gewoon de groepsnamen van al deze regels om de lijst met groepen te krijgen waartoe de gebruikersnaam behoort. Voor de bovenstaande schermafbeelding is dit [demoUser1, DemoGroup, DemoGroup].

Methode 4: Het getent-commando

Dit is ons vierde alternatief. De krijgen commando wordt gebruikt om de invoer van veel belangrijke bestanden in een Linux-systeem op te halen, zoals wachtwoordbestanden, netwerkbestanden, enz. Inclusief /etc/groep bestanden. We kunnen dus de volgende opdracht schrijven om de vermeldingen van de /etc/groep bestand op het scherm en zoek vervolgens handmatig zoals we in de vorige sectie deden:

Syntaxis:

$ getent group>

Maar we komen hetzelfde probleem tegen: handmatig zoeken. En de oplossing is ook hetzelfde: gebruik het grep-commando! We hebben gewoon pijp de uitvoer van het getent-commando naar het grep-commando, waardoor grep alleen die regels moet uitvoeren waarin de betreffende gebruikersnaam verschijnt. Hier is de syntaxis:

Syntaxis:

$ getent group|grep -w>

Hier is een screenshot waarbij de bovenstaande aanpak wordt gebruikt om de groepen te verkrijgen waarnaar demoGebruiker1 hoort bij

getent group|grep -w demoUser1>
Gebruik intent- en grep-opdrachten samen om de groepen op te halen waartoe de gebruiker behoort.

Gebruik intent- en grep-opdrachten samen om de groepen op te halen waartoe de gebruiker behoort.

Lees nu gewoon de groepsnamen uit alle regels zoals eerder gedaan om de lijst met groepen te krijgen waartoe de gebruikersnaam behoort.

Vaak gestelde vraag

1. Hoe controleer ik tot welke groepen een gebruiker behoort in Linux?

Om te controleren tot welke groepen een gebruiker behoort in Linux, kunt u degroups>commando gevolgd door de gebruikersnaam.

Bijvoorbeeld:

groups username>

Met deze opdracht wordt een lijst met groepen weergegeven waartoe de opgegeven gebruiker behoort.

2. Wat is de opdracht om alle groepen weer te geven waarvan een gebruiker lid is in Linux?

Het commando om alle groepen weer te geven waarvan een gebruiker lid is in Linux is:

id -Gn username>

Deid>commando met de-Gn>optie biedt een door spaties gescheiden lijst met groepsnamen voor de opgegeven gebruiker.

3. Kan ik groepslidmaatschappen voor meerdere gebruikers tegelijk controleren in Linux?

Ja, u kunt groepslidmaatschappen voor meerdere gebruikers tegelijk controleren door meerdere gebruikersnamen op te geven aan degroups>ofid>commando.

Bijvoorbeeld:

groups username1 username2>

Met dit commando worden de groepen voor beide ' username1`> en ` username2`> .

4. Hoe kan ik de primaire groep van een gebruiker in Linux achterhalen?

Om de primaire groep van een gebruiker in Linux te achterhalen, kun je de ` id`> commando met de ` -gn`> keuze.

Bijvoorbeeld:

id -gn username>

Hierdoor wordt de primaire groepsnaam voor de opgegeven gebruiker weergegeven.

5. Zijn er grafische hulpmiddelen of toepassingen voor het controleren van gebruikersgroepinformatie in Linux?

Ja, er zijn grafische hulpmiddelen beschikbaar voor het controleren van gebruikersgroepinformatie in Linux. Eén zo'n hulpmiddel is Gebruikers en groepen of Gebruikersaccounts in de systeeminstellingen van bureaubladomgevingen zoals GNOME of KDE. Als alternatief kunnen tools zoals ` gpasswd`> een grafische interface bieden voor het beheren van gebruikersgroepen.

Conclusie

In Linux is het bepalen van de groepen waartoe een gebruiker behoort een eenvoudig proces dat kan worden uitgevoerd met behulp van de groepen commando of de ID-Gn commando. Deze opdrachten bieden een snelle manier om een ​​lijst op te halen van alle groepen die aan een specifieke gebruiker zijn gekoppeld. Deze informatie is van cruciaal belang voor zowel systeembeheerders als gebruikers, omdat het helpt bij het beheren van bestands- en maprechten, het toestaan ​​of beperken van toegang tot bronnen en het waarborgen van de veiligheid en integriteit van het systeem.