Om alle eigenschappen van een bestand te tonen, incluis de toegangsrechten, gebruiken we het ls commando als volgt:

ubuntu@ubuntu:~$ls-la/etc/passwd-rw-r--r-- 1 ubuntu ubuntu 0 2006-05-31 12:56 bestand1
We zien dan tien kolommen. Let wel: het eerste karakter van de eerste kolom wordt hier als aparte kolom beschouwd. De kolommen hebben de volgende betekenis:
eerste karakter van de eerste kolom: bestandstype. De voornaamste zijn d (directory of map) en - (gewoon bestand).
tweede tot en met tiende karakter: drie groepen van drie karakters die de bestandspermissies voorstellen.
tweede kolom: aantal (hard)links naar het bestand.
derde kolom: loginnaam van de eigenaar van het bestand.
vierde kolom: groepnaam van de eigenaar van het bestand.
vijfde kolom: grootte in bytes van het bestand. Gebruik ls -lah voor een weergave van de grootte in kilobyte, megabyte of gigabyte.
zesde tot achtste kolom: datum van de laatste verandering.
negende kolom: de naam van het bestand
![]() | Volledige info |
|---|---|
De volledige verklaring van het bovenstaande vind je in info |
Wanneer de opgegeven bestandsnaam de naam van een map is, zal voor elk bestand in de map bovenstaande informatie getoond worden. Je krijgt ook de informatie voor de huidige map (die waarvan je de info opvraagt) en de moedermap, de map die de opgevraagde map bevat.
Het beveiligingssysteem van Linux is gebaseerd op dat van UNIX en is op zijn minst even rigide - in sommige gevallen is het zelfs nog strenger. Op een Linuxsysteem behoort elk bestand toe aan een zekere gebruiker en een zekere groep. Deze kenmerken bepalen wie toegang heeft tot het bestand, en wat voor toegang het betreft: lezen, schrijven of uitvoeren. Dit is in zekere mate vergelijkbaar met de eigenschappen van bestanden op MS Windows. Ook met onze Ubuntu kunnen we grafisch de eigenschappen van bestanden opvragen:

Selekteer uit → .
Door met de rechtermuisknop op de naam van een bestand te klikken, komt er een menu tevoorschijn.
Kies hier .
Selekteer het tabblad .
Elk bestand heeft drie soorten toegangsrechten:
Rechten voor de eigenaar van het bestand;
Rechten voor leden van de groep die eigenaar is van het bestand;
Rechten voor gebruikers die noch eigenaar zijn, noch in de groepeigenaar zitten.
Voor elke groep kunnen er drie rechten toegekend worden:
Lezen (r van read): je mag de inhoud van het bestand zien.
Schrijven (w van write): je mag de inhoud van het bestand veranderen.
Uitvoeren (x van execute): indien het een programma betreft, mag je het opstarten. Let wel: voor dit recht is leesrecht een vereiste. Het uitvoerrecht op een map wil zeggen dat je in de map mag gaan.
Deze drie groepen worden wel eens voorgesteld door de karakters “u” (user), “g” (group) en “o” (others).
De drie groepen worden in de uitgebreide info van ls -l weergegeven in de eerste kolom, tweede tot en met tiende karakter. Je ziet ze in de grafische eigenschappen (zie bovenstaande figuur) ook in “Text view”, bijvoorbeeld voor ons testbestand bestand1 hierboven “-rw-r--r--”. Het eerste streepje duidt erom dat het hier om een gewoon bestand gaat, en dus geen directory of ander speciaal bestandstype. Verder zien we:
Tweede tot en met vierde karakter: “rw-”: toegansrechten voor de eigenaar van het bestand: lezen en schrijven wel, uitvoeren niet (streepje).
Vijfde tot en met zevende karakter: “r--”: toegansrechten voor alle gebruikers in de groep “ubuntu”: lezen wel, schrijven en uitvoeren niet (streepjes).
Achtste tot en met tiende karakter: “r--”: toegansrechten voor alle gebruikers die niet in de vorige categorieëen vallen: lezen wel, schrijven en uitvoeren niet (streepjes).
De toegangsrechten hebben elk een waarde: 4 voor lezen, 2 voor schrijven en 1 voor uitvoeren. Als het recht niet toegekend wordt, heeft het waarde nul. Als we voor elke groep van gebruikers (eigenaar, groepseigenaar en anderen) de waarden samentellen, bekomen we drie cijfers tussen 0 en 7. Dit wordt weergegeven in “Number view”, voor ons testbestand zijn deze cijfers 6 voor de eigenaar, 4 voor de groep en 4 voor de anderen. Deze cijfers kunnen gebruikt worden om de toegangsrechten van een bestand te veranderen op de commandoregel.
Alle bestanden die aangemaakt worden op een Linuxsysteem hebben altijd toegangsbeperkingen. Bestanden die je zelf aanmaakt, zijn per definitie niet uitvoerbaar. Een van de neveneffecten van deze strikte manier van werken is dat je op Linux dus gerust een E-mail met een virus mag openen en het virus downloaden. Het zal gewoon blijven staan waar je het plaatst en verder niets doen, want het zal nooit “automagisch” uitvoerbaar worden - zou het überhaupt al werken op je systeem. Dit komt door het zogenaamde gebruikersmasker of user mask. Dat is een waarde die wordt afgetrokken van de standaard numerieke waarde van de toegangsrechten, die bepaald wordt in een van de bibliotheken op je systeem.
![]() | Automagisch? |
|---|---|
Automatisch + magisch. |

Typ het commando umask om het gebruikersmasker te weten te komen:
ubuntu@ubuntu:~$ umask
0022
![]() | Speciale toegangsrechten |
|---|---|
We zagen reeds dat de toegangsrechten voor de gebruiker, de groep en de anderen door drie cijfers voorgesteld worden. Er is echter nog een vierde groep van toegangsrechten, met een speciale betekenis. Doorgaans worden die rechten enkel door systeembeheerders gebruikt. We mogen er als gewone gebruiker vanuit gaan dat de waarde van deze speciale rechten gelijk is aan nul. De speciale rechten komen op de eerste positie, vandaar de eerste nul in de maskerwaarde. Het zou bijgevolg dus ook juister zijn om de waarde van de rechten van het testbestand uit het voorbeeld voor te stellen als “0644”. Dit noemen we ook wel eens de octale waarde. |
De standaard toegangsrechten voor een gewoon bestand worden in de bibliotheek bepaald als “0666”, dus lezen en schrijven (4+2) voor de drie groepen van gebruikers, zonder speciale rechten. Voor een map is het echter “0777”, lezen, schrijven en uitvoeren (4+2+1) voor de drie groepen, want een map moet uitvoerbaar zijn, anders kan je er niet ingaan. Van deze waarden wordt telkens de waarde van het masker afgetrokken:
Een gewoon bestand heeft dus standaard lees- en schrijrecht voor de eigenaar, en enkel leesrecht voor de groepseigenaar en de gebruikers die niet eigenaar zijn en ook niet in de groep zitten die eigenaar is van het bestand.
Een map heeft naast deze rechten ook uitvoerrecht, anders kan je niet in de map gaan.
![]() | Testen |
|---|---|
Je kan dit nagaan door op eender welke manier een bestand aan te maken. Gebruik het mkdir commando om de standaardrechten op een map te controleren. |
![]() | Het uitvoerrecht op mappen |
|---|---|
Probeer het volgende: Wat gebeurt er?
|
![]() | Opgelet met kopiëren! |
|---|---|
Als je bestanden kopieert, worden de toegangsrechten overgenomen. Een kopie van een uitvoerbaar bestand zal dus ook uitvoerbaar zijn. |
Toegansgrechten veranderen met de grafische interface behoeft geen uitleg. Wij gaan hier bespreken hoe je op de commandoregel de rechten van bestanden kan veranderen. Waarom, vraag je je misschien af, het is toch gemakkelijker om een paar keer met de muis te klikken? Vast wel, maar als je bijvoorbeeld op een machine op het Internet bestanden moet manipuleren, of je zit bijvoorbeeld thuis en je moet iets doen op een machine van je bedrijf, zal het doorgaans moeilijk of onmogelijk zijn de grafische interface te gebruiken. Normaliter zal je wel in de mogelijkheid zijn om via een beveiligde verbinding in een terminalvenster te werken.
In een terminalvenster gebruiken we het programma chmod, wat staat voor change mode. Niemand zegt echter de volledige naam van het commando. In het Engels is in de UNIX-en Linuxwereld “to chmod” een algemeen aanvaard werkwoord, en ook in het Nederlands spreken we inmiddels van “chmodden” als we doelen op het veranderen van de toegangspremissies van bestanden of mappen.
De syntax is als volgt:
chmod [optie(s)] mode bestand
De meest gebruikte optie is -R (recursive), om alle bestanden in een map, incluis alle mappen in die map, dezelfde toegangsrechten te geven. De mode kan je bepalen door ofwel de octale waarde van de gewenste permissie op te geven, ofwel door de symbolen u, g en o en r, w en x te gebruiken.
Onderstaande tabel probeert ter referentie de numerieke waarden voor toegangscontrole een betekenis te geven.
Tabel 3.2. Bestanden beveiligen met chmod
| Opdracht | Betekenis |
|---|---|
chmod 400 bestand | Bescherm een bestand tegen accidenteel overschrijven. |
chmod 500 map | Bescherm jezelf tegen per ongeluk verwijderen, hernoemen of verhuizen van bestanden of mappen in deze map. |
chmod 600 bestand | Een priveebestand dat enkel veranderd kan worden door de eigenaar. |
chmod 644 bestand | Een publiek leesbaar bestand dat enkel veranderd kan worden door de eigenaar. |
chmod 660 bestand | Gebruikers die in dezelfde groep zitten als jij kunnen dit bestand veranderen, anderen hebben geen enkel toegangsrecht. |
chmod 700 bestand | Enkel de eigenaar heeft alle toegangsrechten, alle andere gebruikers hebben geen enkel recht. |
chmod 755 bestand | Voor bestanden die leesbaar en uitvoerbaar zijn door andere gebruikers, maar enkel door de eigenaar veranderd kunnen worden. |
chmod 770 bestand | Standaard mode voor bestandsdeling binnen een groep. |
chmod 777 bestand | Iedereen mag alles. |
Volledige achtergrond vind je in man chmod. Mocht je het ooit nodig hebben om bestanden van eigenaar of van groep te veranderen, lees dan ook de man pagina's van de commando's chown en chgrp.
![]() | Permissies en find |
|---|---|
Gebruik het find commando om bestanden met een bepaald recht te zoeken. Less de man pagina van find voor meer info over dit onderwerp. |