Chmod

In Raspberry Pi OS worden bestandsrechten (permissies) in drie cijfers uitgedrukt. Je kunt de permissies van de bestand uitlezen met het commando:

ls -l

Je ziet nu de bestanden waarvan je de listing (ls) opgevraagd hebt met links in beeld de permissies (-l).

De permissie of bestandrecht bestaat uit drie delen:
1. Het eerste deel staat voor de eigenaar,
2. het tweede voor de groep en
3. het derde voor de overigen (de rest van de wereld).

Betekenis van de permissieve letters
r = mag lezen
w = mag schrijven
x = mag uitvoeren
= mag niets

chmod-den
De rechten werken met bits! Het werkt als volgt:

Read = r
Write = w
Execute = x

Er zijn vaste waarden aan de rechten (r,w,x) vastgesteld:
r = 4
w = 2
x = 1
r + w + x = 7 <– Kijk in de tabel hieronder welke rechten je hebt.

Dat levert de volgende rechtencombinaties op:
000 = 0 = — mag niets
001 = 1 = –x mag uitvoeren
010 = 2 = -w- mag schrijven
011 = 3 = -wx mag schrijven en uitvoeren
100 = 4 = r– mag lezen
101 = 5 = r-x mag lezen en uitvoeren
110 = 6 = rw- mag lezen en schrijven
111 = 7 = rwx mag lezen, schrijven en uitvoeren

Elk van deze combinaties is te gebruiken voor de eigenaar, de eigenaarsgroep en de ‘overigen‘. Dit geef je chmod aan door gewoon drie setjes van rwx op te geven:
777 = 111.111.111 = rwx-rwx-rwx

Met 777 heeft dus
• de eigenaar heeft alle rechten,
• de eigenaarsgroep heeft alle rechten,
• en de overigen hebben alle rechten.

777 is een instelling die je in de praktijk zeer zelden gebruikt omdat je vrijwel nooit wilt dat iedereen iets met een bestand of directory kan doen.

Bij 750 geldt dat:
• Het eerste getal –> heeft betrekking op eigenaar = 7 = 111 = rwx
• Het tweede getal –> heeft betrekking op de groep = 5 = 101 = r-x
• Het derde getal –> heeft betrekkingen op overigen = 0 = 000 =

Andere voorbeelden:
662 = 110.110.010 = rw- rw- -w-
774 = 111.111.100 = rwx rwx r–
235 = 010.011.100 = -w- -wx r-x

Het chmod commando
Wat je vervolgens doet is gewoon de cijfers aan elkaar “plakken”. Als je dus een bestand de rechten rwx r-x r-x (voor iedereen leesbaar en uitvoerbaar en voor de eigenaar wijzigbaar) wil geven, dan gebruik je de code 755.

Deze 755 permissiewaarde gebruik je met het chmod-commando als volgt:
$ chmod 755 mijnbestand.py

Veel succes!