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.
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.
mkdir -p ~/Tux/rechtenlab
touch ~/Tux/rechtenlab/rapport.txt
ls -l ~/Tux/rechtenlab
chmod 755 ~/Tux/rechtenlab
chmod 644 ~/Tux/rechtenlab/rapport.txt
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.
ls -ld ~/Tux/rechtenlab
sudo chgrp ict ~/Tux/rechtenlab
sudo chmod 2770 ~/Tux/rechtenlab
ls -ld ~/Tux/rechtenlab
De toegangscontrole testen
- Bekijk de eigenaar en groepsrechten van de map met
ls -ld. - Controleer met
groups gebruikersnaamof een testgebruiker in de betreffende groep zit. - Test met een gebruikerssessie die de rechten daadwerkelijk heeft.
- 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.
- Maak de groep
ictaan als die nog niet bestaat. - Maak de map
~/Tux/rechtenlaben een tekstbestand aan. - Wijs de ICT-groep toe en geef de map het recht
2770. - Geef het document de rechten
660als het voor groepsleden lees- en schrijfbaar moet zijn. - Toon met
ls -ldenls -ldat 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
- Wat betekent de eerste
dindrwxrwx---? - Waarom is het x-recht voor een map anders dan voor een bestand?
- Wat is het verschil tussen
chmod,chownenchgrp?
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.
