Antag att några av användarna på datorn samarbetar om att skriva en bok. Då ska just dessa användare, men inga andra, ha rätt att ändra i de filer som innehåller materialet till boken. Ibland är det alltså önskvärt att mer än en användare, men ändå inte alla, ska tilldelas vissa befogenheter över en fil eller katalog. Detta är möjligt tack vare något som kallas för grupper. En grupp består av ett antal användare på systemet. Det kan till exempel finnas en grupp med namnet dikt, vars medlemmar arbetar med att sammanställa en diktsamling.
Om kommandot groups anropas utan argument, så skrivs det
ut vilka grupper man själv är medlem i.$ groups
göran floppy dikt
$Jag är tydligen medlem i grupperna
göran, floppy och dikt.
Om groups anropas med ett eller flera användarnamn som argument,
så får man veta vilka grupper var och en av
dessa användare är medlem i.$ groups eva göran
eva : eva staff dikt
göran : göran floppy dikt
$Användaren eva är alltså medlem i grupperna
eva, staff och dikt.
Varje användare tillhör minst en grupp. Men även om man kan vara medlem i flera grupper, så ''befinner man sig'' vid varje tillfälle bara i en grupp. Den grupp användaren direkt efter inloggningen befinner sig i kallas för hennes login-grupp. På Debian GNU/Linux-system finns det för varje användare en grupp vars namn är detsamma som hennes användarnamn och i vilken hon själv är den enda medlemmen. Vanligtvis är det denna grupp som är hennes login-grupp. (Skälet till att alla användare har en ''egen grupp'' är att det därmed blir möjligt för dem att slentrianmässigt ge gruppen samma rättigheter till sina filer och kataloger som de själva har.)
Kommandot id ger information om grupper och identiteter:$ id
uid=1000(göran) gid=1000(göran) grupper=1000(göran),25(floppy),101(dikt)
$Det kan vara värt att veta, att UNIX internt identifierar
en användare inte med hjälp av hennes användarnamn, utan med hjälp
av ett nummer som kallas för hennes användaridentitet (uid).
Likaså representeras grupper internt med ett nummer
som kallas för gruppidentiteten (gid).
Min användaridentitet är 1000 och jag befinner mig
just nu i gruppen med gruppidentitet 1000.
Med hjälp av kommandot newgrp kan man
byta nuvarande grupptillhörighet.$ newgrp dikt
$ id
uid=1000(göran) gid=101(dikt) grupper=1000(göran),25(floppy),101(dikt)
$För att återgå till den förra grupptillhörigheten
ska man ge kommandot exit.$ exit
$ id
uid=1000(göran) gid=1000(göran) grupper=1000(göran),25(floppy),101(dikt)
$
Flaggan -d anger att kommandot ls
ska ge information om kataloger
snarare än om filerna de innehåller.$ ls -ld dikter
drwxrwxr-x 3 göran göran 1024 feb 20 13:19 dikter/
$Jag ändrar nu grupptillhörigheten för katalogen
dikter från göran till dikt.
Kommandot för detta är chgrp.$ chgrp dikt dikter
$ ls -ld dikter
drwxrwxr-x 3 göran dikt 1024 feb 20 13:19 dikter/
$Hädanefter kan eva, som också är medlem i gruppen dikt,
skapa och radera filer i katalogen dikter.
Kommandot för att byta ägare för en fil är chown, men det är bara root som byta ägare för filer - annars skulle man ju kunna ''stjäla'' filer från andra! Likaså måste man tillhöra en viss grupp för att kunna associera filer eller kataloger med gruppen.
Om man vill att kataloger och filer ska få grupptillhörigheten
dikt direkt när de skapas, så ska man se till att
man befinner sig i denna grupp.$ newgrp dikt
$ mkdir kopior
$ ls -ld kopior
drwxrwxr-x 2 göran dikt 1024 mar 8 13:49 kopior/
$ exit
exit
$
För att byta användaridentitet till användarnamn
ska man ge kommandot
su användarnamn. Om argumentet användarnamn
är root, så kan det utelämnas.$ su
Lösenord:
root@fafner# id
uid=0(root) gid=0(root) grupper=0(root)
root@fafner# exit
exit
$De personer som är systemadministratörer på datorn
brukar arbeta som ''vanliga användare'' en stor
del av tiden. När de behöver utökade rättigheter
går de över till användaridentiteten root genom att ge
kommandot su.