Rechten

Rechten in Linux zijn fundamenteel voor de veiligheid en controle over bestanden en mappen. Elke bestand of map in Linux heeft 3 soorten gebruikerscategorieën:

Categorie
Beschrijving

Owner (u)

De eigenaar van het bestand

Group (g)

De gebruikersgroep waartoe de eigenaar behoort

Others (o)

Iedereen anders op het systeem

Elke categorie kan drie soorten rechten hebben:

Recht
Letter
Betekenis

read

r

Lezen van de inhoud van bestand/map

write

w

Schrijven/wijzigen (of bestanden toevoegen in map)

execute

x

Uitvoeren van een bestand / map betreden

Wanneer we de rechten van een bestand of map gaan bekijken door een gedetailleerde lijstweergave op te vragen van de inhoud van een map met behulp van ls -l, zien we iets als volgt:

-rw-r--r-- 1 jannes studenten  1024 mrt 31 10:00 bestand.txt

De rechten van het bestand.txt worden als eerste getoond.

  • -: geeft aan dat dit een bestand is (een d zou directory/map betekenen).

  • rw-: geeft aan dat de eigenaar (jannes) dit bestand mag lezen en schrijven.

  • r--: geeft aan dat de groep waartoe het bestand behoord (studenten) dit bestand mag lezen.

  • r--: geeft aan dat anderen het bestand ook mogen lezen.

We knippen -rw-r--r-- dus als het ware in 4, waarbij het eerste teken aangeeft of het om een bestand of map gaat, en de volgende 3 tekens telkens de rechten (r,w,x) aangeven voor de drie gebruikerscategorieën.

Rechten aanpassen

We kunnen de rechten van een bestand of map ook aanpassen met behulp van het chmod commando, en wel op twee verschillende manieren.

Met numerieke notatie

Elke recht heeft een waarde:

  • r (read) = 4

  • w (write) = 2

  • x (execute) = 1

Deze waarden kan je optellen voor het toewijzen van bepaalde rechten aan een gebruikerscategorie.

Stel,

  • je wil de eigenaar (owner) alle rechten toekennen (rwx): 4 + 2+ 1 = 7.

  • de groep wil je enkel read en execute rechten toekennen (r-x): 4 + 0 + 1 = 5.

  • alle anderen hebben enkel leesrechten (r--): 4 + 0 + 0 = 4.

Met behulp van deze optelsommen kunnen we nu de juiste rechten toekennen aan ons bestand met behulp van het chmod commando.

chmod 754 bestand.txt

Met symbolische notatie

Wanneer we gebruik willen maken van de symbolische notatie doen we het als volgt:

Recht
notatie
Betekenis

read

+r

Lezen/bekijken toestaan

read

-r

Lezen/bekijken blokkeren

write

+w

Schrijven/wijzigen (of bestanden toevoegen in map) toestaan

write

-w

Schrijven/wijzigen (of bestanden toevoegen in map) blokkeren

execute

+x

Uitvoeren van een bestand / map betreden toestaan

execute

-x

Uitvoeren van een bestand / map betreden blokkeren

Voorbeeld:

chmod u+x bestand.txt    # Voeg uitvoer toe voor eigenaar (+)
chmod g-w bestand.txt    # Haal schrijfrecht weg van groep (-)
chmod o=r bestand.txt    # Zet rechten van anderen op enkel lezen (=)

We kunnen deze notatie ook in één commando uitvoeren door een komma (,) te gebruiken als scheidingsteken tussen de gebruikerscategorieën.

chmod u=rwx,g=rx,o=r bestand.txt

Rechten op mappen

Bij mappen gelden rechten net iets anders:

Recht
Betekenis voor mappen

r

Mapinhoud bekijken (bestandsnamen)

w

Bestanden toevoegen of verwijderen

x

De map betreden (cd mapnaam)

Eigenaar/groep wijzigen

Net zoals we de rechten van bestanden of mappen kunnen aanpassen, kunnen we ook de eigenaar of groep wijzigen waartoe een bestand of map behoord. Dit doen we met het chown commando.

chown jannes bestand.txt            # Verander eigenaar
chown jannes:studenten bestand.txt  # Verander eigenaar en groep

Je moet echter meestal wel root of sudo zijn om dit te mogen doen.

Last updated