Users en Groups

Linux is een multi-user systeem. Dit wil zeggen dat, wanneer je het systeem wilt gebruiken je moet inloggen als een user, met een bijhorend paswoord.

Deze users worden ook nog eens opgedeeld in groepen (groups).

Aan het hoofd van alle groepen en gebruikers staat de root, de system-administrator.

Dit is nodig omdat niet iedereen alles mag lezen, veranderen of betreden in een systeem. Welke user wat mag wordt bepaald door de instelling van rechten (permissions). Daarbij maken we een onderscheid tussen de rechten van de Owner en de rechten van de Group:

Owner/Group

Met behulp van het volgende commando kan je bekijken tot welke groep en eigenaar een bestand of directory behoort:

$ ls -la

De output kan er bijvoorbeeld zo uit zien:

drwxr-xr-x   2 root     root       48 Aug 5 15:28 java/
drwxrwxrwx   2 bart     users      80 Jun 27 00:02 public_html/
drwxr-xr-x   6 bart     users      2280 Aug 10 23:42 site/
-rw-r--r--   1 bart     users      662817 Jul 25 15:48 unix.pdf

In de derde kolom, waar bart en root in staan, vind je de eigenaar of owner van het bestand of directory.

In de vierde kolom, waar root en users staan, vind je de group waartoe de owner behoort

Rechten/Permissions

Als een gebruiker een bestand wil lezen, beschrijven, wissen of uitvoeren, dan moet hij daartoe het recht hebben. Onder linux kan dus niet iedere gebruiker zomaar alles lezen, beschrijven, wissen of uitvoeren.

Welke rechten een gebruiker nodig heeft om een actie uit te voeren, wordt voor iedere file op directory apart bepaald. Aan elk directory en elk bestand in Linux worden rechten (ookwel permissions genoemd) meegegeven.

Rechten op een file of bestand kan je ook wijzigen >>.

De Owner

Alleen de eigenaar kan deze permissies bepalen en veranderen. Van bestanden en mappen die je maakt ben je uiteraard zelf de eigenaar.

Van systeembestanden is de eigenaar meestal de gebruiker root.

Goed om te weten: de gebruiker root kan van alle bestanden de permissies bepalen ongeacht wie de eigenaar is!

Ook kan de gebruiker root een andere eigenaar toewijzen met het commando chown. Dat maakt de gebruiker root zo belangrijk op een Linux systeem.

 

De Group

Om bestanden te delen met meerdere gebruikers kunnen er groepen van gebruikers gemaakt worden.

Bij de installatie van ubuntu geef je een gebruikersnaam op. Voor die gebruikersnaam wordt er ook altijd een groep gemaakt waar (alleen) deze gebruiker lid van is.

Dus:

User = de eigenaar van het bestand
Group = het bestand hoort toe aan een group van users, deze hebben ook aparte rechten op het bestand.
Others = al de rest.

Permissies opvragen

Om de permissies van een bestand of map op te vragen kan de -l aan de ls opdracht meegegeven worden:

drwxr-xr-x   2 root     root       48 Aug 5 15:28 java/
drwxrwxrwx   2 bart     users      80 Jun 27 00:02 public_html/
drwxr-xr-x   6 bart     users      2280 Aug 10 23:42 site/
-rw-r--r--   1 bart     users      662817 Jul 25 15:48 unix.pdf

De eerste 10 posities geven dan de permissie aan. Ter verduidelijking gebruiken we hier kleur.

Het eerste teken is het type bestand:

De volgende 9 tekens zijn verdeeld in 3 groepjes.

De eerste groep zijn de permissies voor de eigenaar, de tweede groep bevat de permissies die gelden voor de groep en de laatste groep de permissies voor alle overige gebruikers.

eigenaar groep overige

rwx rwx rwx

Read, Write, eXecute

Iedere groep bestaat weer uit drie posities. Deze drie posities geven de permissies voor deze groep aan. Het recht dat een eigenaar, groep of de overige gebruikers hebben op een bestand wordt weergegeven doormiddel van een letter:

Voor mappen is de betekenis vergelijkbaar:

Voorbeelden van Permissies

voorbeeld bestand

Een voorbeeld van een bestand:

-rw-r--r-- 1 bb bb 23506 2006-05-22 21:35 ubuntu.jpg

De eerste 10 posities zijn -rw-r--r--:

voorbeeld map

Het volgende voorbeeld is een veel voorkomende instelling voor mappen. Voor mappen is de eerste positie een d.

drwxr-xr-x 2 bb bb 4096 2006-05-22 21:35 foto

Als eigenaar (bb) kunnen bestanden aan deze map worden toegevoegd en ook gewijzigd of gewist. Andere gebruikers hebben wel toegang maar kunnen niets wissen of toevoegen. Dit is een veel gebruikte instelling ook voor systeemmappen.

Permissies wijzigen (CHMOD)

Met het commando chmod kunnen permissies gewijzigd worden.

Alleen de eigenaar van een bestand of map OF de gebruiker root kan de permissie wijzigen.

Dit kan op twee verschillende manieren.

Manier 1

In het commando chmod wordt gebruik gemaakt van letters om aan te geven voor wie de nieuwe permissies gelden. De letters hebben de volgende betekenis:

Ook een combinatie van letters is toegestaan.

Na deze letter komt een plus (+) teken om permissies toe te voegen en een min (-) teken om te verwijderen en als laatste de permissie waar het om gaat.

Wis bijvoorbeeld alle lees permissies voor de groep en overige gebruikers om de foto ubuntu.jpg te beveiligen:

chmod go-r ubuntu.jpg

Het resultaat:

-rw------- 1 bb bb 23506 2006-05-22 21:35 ubuntu.jpg

Als iedereen een bepaald programma of script, in dit voorbeeld script1 genoemd, moet kunnen gebruiken kunnen de permissies zo ingesteld worden:

chmod a+rx script1

Het resultaat:

-rwxr-xr-x 1 bb bb 140 2006-05-22 21:35 script1

Manier 2

In plaats van letters kan je ook getallen gebruiken. Als je dit, eenmaal onder de knie hebt is het een veel snellere methode!

R = 4 4 4
W = 2 2 2
X = 1 1 1

Je telt de cijfers dus verticaal op, en als je dan dit: -rwx-rw-x- wil bekomen, doe je:

$ chmod -R 761 directory

Het heeft nu niets te maken met die getallen, maar we hebben ineens aangetoond hoe je de Recursive mode kan gebruiken om de rechten van een hele directory en zijn inhoud te veranderen!

chown

Wil je de eigenaar van een bestand/directory/link veranderen, dan kan dat met chown:

$ chown bart:users bestand

Het bestand behoort nu toe aan de User bart en aan de Group users.

De Group aan wie het bestand toebehoort staat achter de :. Als je de group niet witl veranderen kan je deze ook weglaten.

Je kan de Group ook apart wijzigen, met chgrp:

$ chgrp users bestand

De Group users heeft nu de rechten op het bestand.

 

Opdracht 4

Maak opdracht 4 (uitgereikt)

 

Menu