Een groep is eenvoudigweg een lijst gebruikers. Groepen kunnen geïdentificeerd worden aan de hand van hun naam en GID (Groep ID). In FreeBSD (en de meeste andere UNIX® achtige systemen), worden besluiten door de kernel over of een proces iets wel of niet mag doen genomen op basis van het bijbehorende gebruikers ID en een lijst van groepen waar dat bij hoort. Anders dan bij een gebruikers ID, heeft een proces een lijst met bijbehorende groepen. Sommige programma's refereren wel eens aan het “groep ID” van een gebruiker of een proces. Meestal is dit gewoon de eerste groep in de hiervoor genoemde lijst.
De vertaling van groep ID naar groepsnaam staat in
/etc/group
. Dit is een tekstbestand met
vier velden die door het karakter :
(dubbele
punt) worden gescheiden. Het eerste veld is de groepsnaam, het
tweede veld is het versleutelde wachtwoord, het derde het groep
ID, het vierde een door komma's gescheiden lijst van leden van de
groep. Het bestand kan zonder gevaar met de hand aangepast
worden (aangenomen dat er geen fouten in de syntaxis worden
gemaakt, natuurlijk). Een volledige beschrijving van de syntaxis
staat in group(5).
Als het onwenselijk is om /etc/group
met
de hand aan te passen, dan kan pw(8) gebruikt worden voor
het toevoegen en wijzigen van groepen. Om bijvoorbeeld een groep
met de naam teamtwo
toe te voegen en
daarna het bestaan van die groep te bevestigen:
#
pw groupadd teamtwo
#
pw groupshow teamtwo
teamtwo:*:1100:
Het getal 1100
hierboven is het groep ID
van de groep teamtwo
. Met de huidige
instelling heeft teamtwo
geen leden en is
die redelijk waardeloos. Dat kan veranderen door
jru
aan de groep
teamtwo
toe te voegen.
#
pw groupmod teamtwo -M jru
#
pw groupshow teamtwo
teamtwo:*:1100:jru
Het argument voor de optie -M
is een door
komma's gescheiden lijst van gebruikers die in de aangegeven groep
moeten komen. In de voorgaande paragrafen is al aangegeven dat
het wachtwoordbestand ook voor iedere gebruiker een groep bevat.
Een gebruiker wordt automatisch toegevoegd aan de groepenlijst
door een systeem. De gebruiker wordt niet als lid getoond van die
groep bij het gebruik van de optie groupshow
van
pw(8), maar wordt wel getoond als de informatie wordt
opgevraagd via id(1) of met een soortgelijk programma. Met
andere woorden: pw(8) wijzigt alleen het bestand
/etc/group
en probeert nooit extra informatie
te lezen uit /etc/passwd
.
#
pw groupmod teamtwo -m db
#
pw groupshow teamtwo
teamtwo:*:1100:jru,db
Het argument voor de optie -m
is een door
komma's gescheiden lijst van gebruikers die aan de groep worden
toegevoegd. In tegenstelling tot het vorige voorbeeld, worden
deze gebruikers aan de groep toegevoegd en vervangen ze de lijst
van gebruikers in de groep niet.
%
id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)
Hierboven is te zien dat jru
lid is van
de groepen jru
en
teamtwo
.
Meer informatie over pw(8) staat in de hulppagina en
meer informatie over de opmaak van
/etc/group
staat in group(5).