Android

Hoe lijsten te maken in Linux

Gebruikers en groepen

Gebruikers en groepen

Inhoudsopgave:

Anonim

In Linux is een groep een verzameling gebruikers. Het hoofddoel van de groepen is het definiëren van een reeks privileges, zoals lezen, schrijven of machtigingen uitvoeren voor een bepaalde bron die kan worden gedeeld tussen de gebruikers binnen de groep. Gebruikers kunnen worden toegevoegd aan een bestaande groep om de rechten te gebruiken die het verleent.

In deze zelfstudie wordt uitgelegd hoe u alle groepen kunt weergeven waarvan een gebruiker lid is. We zullen ook uitleggen hoe we alle leden van een groep kunnen vermelden.

Linux groepen

Er zijn twee soorten groepen waartoe een gebruiker kan behoren:

  • Primaire of inloggroep - is de groep die is toegewezen aan de bestanden die door de gebruiker zijn gemaakt. Gewoonlijk is de naam van de primaire groep dezelfde als de naam van de gebruiker. Elke gebruiker moet tot precies één primaire groep behoren.

    Secundaire of aanvullende groep - wordt gebruikt om bepaalde rechten aan een set gebruikers toe te kennen. Een gebruiker kan lid zijn van nul of meer secundaire groepen.

Lijst met alle groepen waarvan een gebruiker lid is

Er zijn meerdere manieren om erachter te komen tot welke groepen een gebruiker behoort.

De primaire gebruikersgroep wordt opgeslagen in het bestand /etc/passwd en de eventuele aanvullende groepen worden vermeld in het bestand /etc/group .

Een manier om de gebruikersgroepen te vinden is om de inhoud van die bestanden te vermelden met behulp van cat , less of grep . Een andere eenvoudigere optie is om een ​​opdracht te gebruiken die tot doel heeft informatie te verstrekken over de gebruikers en groepen van het systeem.

Met behulp van de opdracht groups

De meest memorabele opdracht om alle groepen weer te geven waarvan een gebruiker lid is, is de groepsopdracht. Bij uitvoering zonder argument drukt de opdracht een lijst af van alle groepen waartoe de momenteel aangemelde gebruiker behoort:

groups

De eerste groep is de primaire groep.

john adm cdrom sudo dip plugdev lpadmin sambashare

Om een ​​lijst te krijgen van alle groepen waartoe een specifieke gebruiker behoort, geeft u de gebruikersnaam als argument op voor de opdracht groups :

groups linuxize

Hetzelfde als voorheen is de eerste groep de primaire groep.

linuxize: linuxize sudo

Het commando id gebruiken

De opdracht id drukt informatie af over de opgegeven gebruiker en zijn groepen. Als de gebruikersnaam wordt weggelaten, geeft deze informatie weer voor de huidige gebruiker.

Als u bijvoorbeeld informatie wilt krijgen over de linuxize van de gebruiker, linuxize u:

id linuxize

De opdracht toont de gebruikersnaam ( uid ), de primaire groep van de gebruiker ( gid ) en de secundaire groepen van de gebruiker ( groups )

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

Gebruik de optie -n om alleen de namen af ​​te drukken zonder de gebruikers- en groeps-ID's. Optie -g drukt alleen de primaire groep en -G alle groepen af.

Met de volgende opdracht worden de namen afgedrukt van de groepen waarvan de huidige gebruiker lid is:

id -nG

john adm cdrom sudo dip plugdev lpadmin sambashare

Lijst met alle leden van een groep

Gebruik de opdracht getent group gevolgd door de groepsnaam om alle leden van een groep weer te geven.

Als u bijvoorbeeld de leden van een groep met de naamontwikkelaars wilt achterhalen, gebruikt u de volgende opdracht:

getent group developers

Als de groep bestaat, drukt de opdracht de groep en alle leden af:

developers:x:126:frank, mary

Als er geen uitvoer is, betekent dit dat de groep niet bestaat.

Lijst met alle groepen

Om alle op het systeem aanwezige groepen te bekijken, opent u eenvoudig het bestand /etc/group . Elke regel in dit bestand vertegenwoordigt informatie voor één groep.

less /etc/group

Een andere optie is om de opdracht getent gebruiken die vermeldingen weergeeft van databases die zijn geconfigureerd in het bestand /etc/nsswitch.conf , inclusief de getent waarmee we een lijst van alle groepen kunnen opvragen.

Typ de volgende opdracht om een ​​lijst met alle groepen te krijgen:

getent group

De uitvoer is hetzelfde als bij het weergeven van de inhoud van het bestand /etc/group . Als u LDAP gebruikt voor gebruikersauthenticatie, toont het getent alle groepen uit zowel /etc/group file als LDAP-database.

U kunt ook awk of cut gebruiken om alleen het eerste veld met de naam van de groep af te drukken:

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

getent group | cut -d: -f1

Conclusie

In deze zelfstudie hebt u geleerd hoe u de groepen kunt vinden waarvan een gebruiker lid is. Dezelfde opdrachten zijn van toepassing op elke Linux-distributie, inclusief Ubuntu, CentOS, RHEL, Debian en Linux Mint.

Als je nog vragen hebt, kun je een reactie achterlaten.

terminal