Ga naar inhoud
CursussenLinuxHoofdstuk 6

Hoofdstuk 6 van 12 · Werkstation

Rechten en eigenaarschap

3 lesuren

Linux beschermt bestanden met eigenaarschap en toegangsrechten. Je leert precies te bepalen wie mag lezen, schrijven of uitvoeren en voorkomt de klassieke fout van te ruime rechten.

Na dit hoofdstuk kun je

  • Unixrechten in de uitvoer van ls -l lezen.
  • r, w en x voor eigenaar, groep en anderen interpreteren.
  • Rechten met chmod in numerieke en symbolische vorm instellen.
  • Eigenaarschap veilig met chown en chgrp aanpassen.

Owner, group en others

Ieder bestand en iedere map heeft een eigenaar (owner) en een groep. Linux onderscheidt daarnaast others: gebruikers die niet de eigenaar zijn en niet via de bijbehorende groepsrechten worden beoordeeld.

Bij ls -l geven de eerste tien tekens type en rechten aan. Bijvoorbeeld drwxr-x---: een map (d) met alle rechten voor de eigenaar, lezen en betreden voor de groep, en geen rechten voor anderen.

Bekijk bestandsrechten en eigenaren
ls -l ~/Tux
ls -ld ~/Tux

Wat betekenen r, w en x?

De rechten staan steeds in drie blokken van drie: eigenaar, groep en anderen. Bij mappen zijn r en x allebei belangrijk om inhoud op een normale manier te bekijken.

  • r (4): een bestand lezen of namen in een map tonen.
  • w (2): bestand wijzigen; bij een map bestanden toevoegen of verwijderen (mits de vereiste overige rechten aanwezig zijn).
  • x (1): programma uitvoeren of een map betreden.

Rechten wijzigen met chmod

Je kunt de cijfers per blok optellen: 7 = 4+2+1 (rwx), 6 = 4+2 (rw-), 5 = 4+1 (r-x) en 4 = alleen lezen.

De meest gebruikte uitgangspunten zijn 644 voor gewone tekstbestanden en 755 voor mappen die iedereen mag doorlopen. Werkelijke rechten hangen af van de gegevens en de doelgroep.

Maak een oefenmap en een bestand
mkdir -p ~/Tux/rechtenlab
touch ~/Tux/rechtenlab/rapport.txt
ls -l ~/Tux/rechtenlab
Stel veilige standaardrechten in
chmod 755 ~/Tux/rechtenlab
chmod 644 ~/Tux/rechtenlab/rapport.txt
Gebruik symbolische rechten
chmod o-r ~/Tux/rechtenlab/rapport.txt
ls -l ~/Tux/rechtenlab/rapport.txt

Eigenaarschap en groepen aanpassen

De extra 2 voor 770 zet het setgid-bit op de map. Nieuwe bestanden erven dan doorgaans de groep van de map. Dit is nuttig bij gedeelde projectmappen. Ook de rechten van nieuwe bestanden en de umask blijven relevant.

Bekijk wie de eigenaar is
ls -ld ~/Tux/rechtenlab
Wijs een map toe aan de ICT-groep (indien aangemaakt)
sudo chgrp ict ~/Tux/rechtenlab
Zorg dat groepsleden de map kunnen gebruiken
sudo chmod 2770 ~/Tux/rechtenlab
ls -ld ~/Tux/rechtenlab

De toegangscontrole testen

  1. Bekijk de eigenaar en groepsrechten van de map met ls -ld.
  2. Controleer met groups gebruikersnaam of een testgebruiker in de betreffende groep zit.
  3. Test met een gebruikerssessie die de rechten daadwerkelijk heeft.
  4. Leg uit waarom een medewerker buiten de ICT-groep niet bij de map mag.

Praktijkopdracht

Beveilig een afdelingsmap

Maak een map waarin alleen een gekozen afdeling mag samenwerken.

  1. Maak de groep ict aan als die nog niet bestaat.
  2. Maak de map ~/Tux/rechtenlab en een tekstbestand aan.
  3. Wijs de ICT-groep toe en geef de map het recht 2770.
  4. Geef het document de rechten 660 als het voor groepsleden lees- en schrijfbaar moet zijn.
  5. Toon met ls -ld en ls -l dat eigenaar, groep en rechten kloppen.

Bewijs voor je logboek: Screenshots van de volledige rechtenregels en je uitleg van de cijfers 2770 en 660.

Controleer je kennis

  1. Wat betekent de eerste d in drwxrwx---?
  2. Waarom is het x-recht voor een map anders dan voor een bestand?
  3. Wat is het verschil tussen chmod, chown en chgrp?

Begrippen

Owner
Eigenaar van een bestand of map.
Group
Groepseigenaar.
Others
Gebruikers buiten de toegepaste owner- en groupcategorie.
chmod
Wijzigt toegangsrechten.
chown
Wijzigt eigenaar en eventueel groep.
setgid
Laat nieuwe bestanden in een map doorgaans de groep van die map erven.

Hoofdstuk afgerond?

Voer eerst de praktijkopdracht uit en sla je bewijs op in je eigen logboek.