Terug naar hoofdinhoud

Linux commando: chmod

17 juli 2026

Vroeg of laat komt elke Linux-gebruiker een muur van letters tegen zoals -rwxr-xr-x, samen met een advies dat klinkt als een toverspreuk: "draai er gewoon chmod 755 op". Het commando chmod is hoe je bepaalt wie een bestand mag lezen, schrijven en uitvoeren. Zodra je het snapt, verandert die muur van letters in een eenvoudige, leesbare zin.

1. De basis

De taak van chmod is het veranderen van de modus van een bestand of map. De modus is de verzameling rechten-bits die bepaalt wie wat mag doen. Waar ls die rechten alleen leest en aan je laat zien, schrijft chmod ze.

Linux koppelt drie basisrechten aan elk bestand, voor drie aparte klassen van mensen:

RechtOp een bestandOp een map
r (read) De inhoud lezen De namen erin opsommen
w (write) De inhoud wijzigen Items aanmaken, hernoemen of verwijderen
x (execute) Het uitvoeren als programma Erin gaan en bij de bestanden komen

De drie klassen zijn de eigenaar (de gebruiker die het bestand bezit), de groep (een benoemde set gebruikers) en anderen (iedereen verder). Drie rechten keer drie klassen zijn de negen letters die je in ls -l ziet.

Het commando dat bepaalt wie mag lezen, schrijven en uitvoeren. Achter drie korte letters zit het hele Unix-rechtenmodel, een elegante octale afkorting, en een paar speciale bits die stilletjes het hele systeem laten draaien.

Dit artikel begint met de eenvoudigste wijziging die je kunt maken en bouwt stap voor stap op naar de octale notatie, recursieve wijzigingen, en de speciale bits achter commando's zoals sudo en de gedeelde map /tmp. Aan het eind lezen zowel de letters als de getallen als gewone taal.

Het juiste mentale model: een bestand hoort niet als bij toverslag bij een programma of een persoon. Het draagt een klein label dat precies opsomt wie het mag lezen, wijzigen en uitvoeren. chmod is hoe je dat label bewerkt.

1.1 Eerst de rechtenreeks lezen

Voordat je rechten wijzigt, moet je ze kunnen lezen. Draai ls -l en kijk naar de eerste kolom:

$ ls -l script.sh
-rwxr-xr-x  1 peter staff  812 Jun  1 09:14 script.sh

Die eerste tien tekens splitsen zich in vier delen:

 -    rwx    r-x    r-x
 |     |      |      |
type owner  group  others

Het eerste teken is het type van het bestand (- voor een gewoon bestand, d voor een map). De volgende negen zijn drie blokken rwx, een blok per klasse. Een letter betekent dat het recht aanwezig is; een streepje betekent dat het ontbreekt. Dus rwxr-xr-x lees je als: de eigenaar kan lezen, schrijven en uitvoeren; de groep en anderen kunnen lezen en uitvoeren, maar niet schrijven.

Naar boven

2. Waar komt de naam vandaan?

De naam chmod is kort voor change mode (modus wijzigen).

chmod  =  CHange MODe

Het woord "mode" is de oude Unix-term voor de rechten-bits van een bestand. Datzelfde woord kom je op verwante plekken tegen: het veld st_mode in de stat-systeemaanroep bevat precies deze bits, en de C-bibliotheekfunctie die chmod aanroept heet zelf ook chmod(). Het commando is een dunne schil om die ene systeemaanroep.

Net als zijn buren cp (copy), mv (move) en rm (remove) is de naam kort gehouden omdat het vroege Unix werd getypt op trage teletype-terminals, waar elk teken op papier werd afgedrukt. De gewoonte bleef, en vijftig jaar later is chmod nog steeds chmod.

Naar boven

3. Een korte geschiedenis

Het rechtenmodel dat chmod bewerkt is bijna zo oud als Unix zelf. Het verscheen in Unix 1st Edition bij Bell Labs in 1971, en het ontwerp is sindsdien nauwelijks veranderd. Het idee van een compacte "modus" per bestand, verdeeld over eigenaar, groep en anderen, heeft bijna elk besturingssysteem overleefd waar het mee concurreerde.

TijdperkMijlpaal
1971 Unix 1st Edition komt uit met bestandsmodi en chmod
Jaren 70 De set-user-ID-bit wordt toegevoegd, waardoor programma's met de rechten van de eigenaar draaien
Jaren 80 BSD voegt het sticky-bit-gedrag toe dat gedeelde mappen zoals /tmp gebruiken
Vandaag De GNU coreutils-versie van chmod draait op de meeste Linux-distributies

Zoals bij de meeste kerncommando's zijn er twee versies in omloop. Linux-systemen draaien de GNU coreutils-versie; macOS en de BSD's leveren een BSD-versie. Ze zijn het eens over de belangrijke dingen, symbolische en octale modi werken hetzelfde, maar een paar opties verschillen (GNU schrijft recursief bijvoorbeeld als -R en biedt --reference, wat BSD mist). Dit artikel gebruikt de GNU-versie, gecontroleerd tegen coreutils 9.4, wat je op vrijwel elke Linux-server aantreft.

Naar boven

4. Eenvoudige toepassingen

4.1 Een script uitvoerbaar maken

Dit is verreweg de meest voorkomende reden waarom mensen naar chmod grijpen. Je hebt een shellscript geschreven, maar het systeem weigert het te draaien:

$ ./backup.sh
bash: ./backup.sh: Permission denied

Het bestand heeft nog geen uitvoerrecht. Voeg het toe met de +x-vorm (kort voor "add execute", uitvoeren toevoegen):

$ chmod +x backup.sh
$ ./backup.sh
Backup finished.

Dat is de hele oplossing. chmod +x maakt van een gewoon tekstbestand een uitvoerbaar commando.

4.2 De symbolische vorm: wie, operator, wat

De letters die je net gebruikte zijn onderdeel van een kleine, leesbare taal. Een symbolische modus heeft drie delen:

chmod  u+x  file
       |||
       ||`--- what:     r (read), w (write), x (execute)
       |`---- operator: + add, - remove, = set exactly
       `----- who:      u (user), g (group), o (others), a (all)

Je leest u+x als "voor de user (gebruiker), add (voeg toe) execute (uitvoeren)". Een paar alledaagse voorbeelden:

$ chmod u+x  file      # let the owner run it
$ chmod g-w  file      # take write away from the group
$ chmod o-r  secret    # hide it from everybody else
$ chmod a+r  page.html # everyone may read it (a = all)

Als je de "wie" weglaat, zoals in het kale chmod +x uit het vorige voorbeeld, betekent het "all" (alles), maar begrensd door je umask (het standaardrechtenmasker van je shell). Om verrassingen te vermijden: benoem de klasse die je bedoelt. chmod a+x is altijd ondubbelzinnig.

4.3 Meerdere klassen tegelijk wijzigen

Je kunt meerdere wijzigingen, gescheiden door komma's, in een commando opsommen:

$ chmod u+rwx,go-w notes.txt   # owner gets all; group and others lose write
$ ls -l notes.txt
-rwxr--r--  1 peter staff  1234 May 28 17:02 notes.txt

De operator = is strenger dan + en -: hij zet een klasse op precies wat je noemt en wist de rest voor die klasse. Dus chmod g=r file maakt het recht van de groep alleen-lezen, wat het ook was, en laat de eigenaar en anderen ongemoeid.

Naar boven

5. Gematigde toepassingen: de octale notatie

Symbolische modi zijn leesbaar, maar ervaren gebruikers typen vaak liever een getal van drie cijfers, zoals chmod 755. Dit is de octale notatie, en zodra het klikt vergeet je het nooit meer.

5.1 De truc: elk recht is een getal

Geef elk recht een waarde:

RechtWaarde
r read 4
w write 2
x execute 1

Om een klasse te beschrijven, tel je de waarden op die je wilt. Lezen plus schrijven plus uitvoeren is 4 + 2 + 1 = 7. Lezen plus uitvoeren is 4 + 1 = 5. Alleen lezen is 4. Omdat 4, 2 en 1 machten van twee zijn, telt elke combinatie op tot een uniek cijfer van 0 tot 7, en dat is precies waarom het systeem grondtal 8 (octaal) gebruikt.

5.2 Drie cijfers, een per klasse

Een volledige modus bestaat uit drie van die cijfers: eigenaar, groep, anderen, in die volgorde.

chmod 7 5 5 file
      | | |
      | | +--- others: 4+1     = r-x
      | +----- group:  4+1     = r-x
      +------- owner:  4+2+1   = rwx

Dus 755 is rwxr-xr-x. Dit zijn de getallen die je het vaakst gebruikt:

OctaalSymbolischTypisch gebruik
644 rw-r--r-- Een gewoon bestand: eigenaar bewerkt, iedereen leest
755 rwxr-xr-x Een script of een map: iedereen mag uitvoeren of erin
600 rw------- Een prive-bestand, bijvoorbeeld een SSH-sleutel
700 rwx------ Een prive-map waar alleen de eigenaar in mag
664 rw-rw-r-- Een bestand dat een hele groep samen mag bewerken

Je kunt elke wijziging meteen controleren met ls -l, of chmod zelf laten melden wat het deed met -c (kort voor changes, wijzigingen):

$ chmod -c 640 report.txt
mode of 'report.txt' changed from 0644 (rw-r--r--) to 0640 (rw-r-----)

5.3 Symbolisch of octaal: welke gebruik je?

Ze doen hetzelfde werk; het verschil is de bedoeling. Octaal zet de hele modus in een keer en is het beste als je precies weet wat je wilt (chmod 644 file). Symbolisch past een ding aan en laat de rest ongemoeid (chmod +x file voegt uitvoeren toe zonder lezen of schrijven aan te raken). Grijp naar symbolisch als je "voeg dit toe" of "haal dat weg" bedoelt, en naar octaal als je "maak het precies dit" bedoelt.

5.4 Waar de eerste rechten van een bestand vandaan komen: umask

Ook als je nooit chmod draait, krijgt een nieuw bestand toch een modus. Waar komt die vandaan? Elke shell draagt een umask (kort voor user mask, gebruikersmasker), een set bits die hij verwijdert van de rechten van alles wat je aanmaakt.

Nieuwe bestanden beginnen bij 666 (rw-rw-rw-) en nieuwe mappen bij 777 (rwxrwxrwx). Merk op dat bestanden nooit met uitvoeren beginnen; daarom heeft een vers script chmod +x nodig. De umask wist vervolgens de bits die hij benoemt:

$ umask
0022
$ touch a; mkdir b
$ ls -l a | cut -c1-10      # 666 with 022 cleared
-rw-r--r--
$ ls -ld b | cut -c1-10     # 777 with 022 cleared
drwxr-xr-x

Een veelgemaakte valkuil is dit als aftrekken te beschrijven, als in "666 min 022 is 644". Dat geeft toevallig het juiste antwoord bij nette waarden, maar zo werkt het niet. De umask zet bits uit; hij zet ze nooit aan. Met umask 023 wordt een bestand 644, niet 643, want maskeren kan geen bit wissen dat er nooit stond (bestanden hebben geen uitvoerbit om weg te halen in de "others"-plek). Denk "welke bits neemt het masker weg", niet "trek de getallen af".

chmod zet de rechten van een bestand dat al bestaat; umask zet de rechten van bestanden die nog niet bestaan. Samen beantwoorden ze "wie mag hieraan komen?" van aanmaak tot verwijdering.

Naar boven

6. Gevorderde toepassingen

6.1 Een hele boom wijzigen: -R

De optie -R (kort voor recursive, recursief) past de modus toe op een map en alles erin:

$ chmod -R 755 /var/www/site

Dit is krachtig en, onvoorzichtig gebruikt, schadelijk. De valkuil is dat bestanden en mappen verschillende rechten nodig hebben. Een map heeft uitvoeren (x) nodig zodat je erin kunt, maar een gewoon databestand hoort meestal niet uitvoerbaar te zijn. chmod -R 755 maakt elk bestand uitvoerbaar, en chmod -R 644 strip het uitvoerbit van elke map, waardoor je jezelf eruit sluit.

6.2 De hoofdletter X: uitvoeren alleen waar het zin heeft

GNU chmod lost die valkuil op met een speciale rechtenletter, de hoofdletter X. Die voegt uitvoeren alleen toe aan mappen en aan bestanden die al minstens een uitvoerbit hebben. Gewone databestanden blijven ongemoeid.

$ chmod -R u=rwX,go=rX /var/www/site

Lees dat als: geef de eigenaar overal lezen en schrijven, plus uitvoeren alleen waar het hoort; geef de groep en anderen lezen, plus uitvoeren alleen waar het hoort. Dit ene commando zet een verstandig, veilig rechtenschema over een hele website in een keer. Een korte demonstratie van het verschil:

$ ls -l
-rw-rw-r--  1 peter staff    0 ... plain.txt   # a data file, no execute
drwx------  2 peter staff 4096 ... sub         # a directory

$ chmod a+X plain.txt sub
$ ls -l
-rw-rw-r--  1 peter staff    0 ... plain.txt   # unchanged: still not executable
drwx--x--x  2 peter staff 4096 ... sub         # changed: directory now enterable

6.3 Rechten kopieren: --reference

In plaats van een modus te noemen, kun je chmod de modus van een ander bestand laten kopieren met --reference:

$ chmod --reference=working.conf broken.conf

Nu heeft broken.conf precies dezelfde rechten als working.conf. Dit is handig als het ene bestand in een map zich netjes gedraagt en het andere niet, en je ze wilt laten overeenkomen zonder de getallen met de hand te lezen.

6.4 De speciale bits: setuid, setgid en sticky

Naast de negen gewone bits zijn er drie speciale bits, geschreven als een vierde octaal cijfer voor de modus. Zij zorgen dat delen van Linux werken.

BitOctaalWat het doet
setuid 4 Op een programma: draai het met de identiteit van de eigenaar, niet die van de aanroeper
setgid 2 Op een programma: draai het als de groep van het bestand; op een map: nieuwe bestanden erven die groep
sticky 1 Op een gedeelde map: alleen de eigenaar van een bestand mag het verwijderen

Het klassieke setuid-voorbeeld is passwd. Een gewone gebruiker moet het systeemwachtwoordbestand bijwerken, dat alleen root mag schrijven. Setuid laat het programma als zijn eigenaar draaien, root, precies voor die taak:

$ ls -l /usr/bin/passwd
-rwsr-xr-x  1 root root 59976 ... /usr/bin/passwd

Let op de s op de plek waar de x van de eigenaar zou staan. Die s is het setuid-bit dat boven op het uitvoerbit zit. Je zet het door een 4 voor de modus te plaatsen:

$ chmod 4755 myprog       # rwsr-xr-x  (setuid)
$ chmod 2775 shared/      # rwxrwsr-x  (setgid directory)
$ chmod 1777 /tmp         # rwxrwxrwt  (sticky, world-writable)

Het sticky-bit is waarom /tmp werkt. Iedereen mag er schrijven, maar de t aan het eind betekent dat je alleen je eigen bestanden kunt verwijderen, niet die van anderen. Zonder dat zou elke gebruiker de tijdelijke bestanden van een ander kunnen wissen.

De speciale bits zijn de stille machinerie van een systeem met meerdere gebruikers: setuid laat je je eigen wachtwoord veranderen, setgid houdt de bestanden van een gedeeld project in een groep, en het sticky-bit voorkomt dat /tmp in een sloopterrein verandert.

Nog een leesdetail: als het uitvoerbit eronder ontbreekt, verschijnt de letter als een hoofdletter S of T in plaats van klein. Dus rwSr--r-- betekent dat setuid is gezet maar het bestand niet echt uitvoerbaar is, meestal een fout die een tweede blik waard is.

Naar boven

7. Iets wat de meeste gebruikers niet weten

7.1 chmod beschermt het setgid-bit van een map

Hier is een detail dat zelfs doorgewinterde beheerders verrast. Je zou verwachten dat een volledige numerieke modus zoals chmod 755 de rechten op precies dat zet. Bij gewone bestanden doet het dat. Maar op een map weigert GNU chmod bewust om de setuid- en setgid-bits met een normale numerieke modus te wissen:

$ ls -ld shared
drwxrwsr-x  2 peter staff 4096 ... shared     # setgid is on (the 's')

$ chmod 0755 shared
$ ls -ld shared
drwxr-sr-x  2 peter staff 4096 ... shared     # the 's' is STILL there

Dit is geen bug. De coreutils-handleiding legt het uit: omdat set-group-ID op een map wordt gebruikt om gedeelde bestanden in een gemeenschappelijke groep te houden, laat een gewone chmod die bits met rust, zodat een routine-rechtenwijziging het delen van bestanden niet stilletjes kapotmaakt. Om ze echt te wissen moet je expliciet zijn, op een van deze manieren:

$ chmod g-s shared        # symbolic: mention the bit directly
$ chmod =755 shared       # an "operator numeric" mode
$ chmod 00755 shared      # a numeric mode with five or more digits

De les: gebruik op mappen het symbolische g-s als je het setgid-bit echt weg wilt. Een getal van drie cijfers doet het niet.

7.2 Rechten worden afgedwongen door de kernel, niet door chmod

Het is de moeite waard te weten wat chmod wel en niet doet. Het schrijft alleen de rechten-bits in de metadata van het bestand. Het controleert, scant of bewaakt het bestand nooit. Elke keer dat iemand het bestand daarna opent, leest de kernel die bits en beslist ja of nee. Dus chmod is geen slot dat je vast blijft houden; het is een briefje dat je achterlaat voor de kernel om af te dwingen, keer op keer, lang nadat chmod klaar is.

Dit verklaart ook een beroemde uitzondering: root negeert rechten-bits. De supergebruiker mag elk bestand lezen en schrijven, ongeacht de modus. Rechten beschermen bestanden tegen gewone gebruikers en tegen elkaar, niet tegen root.

7.3 Weten waar chmod ophoudt: ACL's en capabilities

Deel van vakmanschap is weten wanneer een gereedschap ophoudt. De klassieke rechten-bits beschrijven maar drie klassen: eigenaar, groep en anderen. Twee moderne mechanismen gaan verder, en het loont ze te herkennen als je ze tegenkomt.

Een Access Control List (ACL) laat je rechten geven aan een specifieke extra gebruiker of groep, buiten de drie klassen om. Je beheert ACL's met setfacl en leest ze met getfacl:

$ setfacl -m u:john:rwx project.txt   # give user john full access, on top of the mode
$ getfacl project.txt
# file: project.txt
# owner: peter
# group: staff
user::rw-
user:john:rwx
group::r--
mask::rwx
other::r--

Als een bestand een ACL draagt, voegt ls -l een + toe aan het eind van de rechtenreeks, bijvoorbeeld -rw-rwxr--+. Dat plusteken is je hint dat chmod alleen niet het hele verhaal vertelt, en dat je naar getfacl moet grijpen.

Het tweede mechanisme zijn capabilities (bevoegdheden). In plaats van de alles-of-niets-macht van setuid-root kan de kernel een programma een enkele smalle bevoegdheid geven. Daarom hoeft ping op moderne systemen niet meer setuid-root te zijn:

$ getcap /usr/bin/ping
/usr/bin/ping cap_net_raw=ep      # may open raw sockets, nothing more

Zo'n bevoegdheid zet je met setcap, bijvoorbeeld setcap cap_net_bind_service=+ep server om een programma op een lage poort te laten luisteren zonder als root te draaien. Als je een systeem doorlicht en een setuid-bit verwacht maar niet vindt, zijn capabilities vaak de reden.

Naar boven

8. Beste werkwijzen

  • Kies de minste rechten die werken. Begin restrictief. 600 voor prive-bestanden en 700 voor prive-mappen zijn veiliger standaardwaarden dan alles "voor de zekerheid" openzetten.
  • Gebruik nooit chmod 777 om een probleem te verhelpen. Het is bijna nooit de echte oplossing, en het laat elke gebruiker op de machine je bestand wijzigen. Als iets niet gelezen kan worden, ligt het meestal aan het eigenaarschap (chown) of een ontbrekend x-bit op een map, niet aan een gebrek aan wereldtoegang.
  • Gebruik de hoofdletter X bij recursieve wijzigingen. chmod -R u=rwX,go=rX dir geeft mappen hun uitvoerbit en laat databestanden niet-uitvoerbaar, en vermijdt zo de -R-valkuil.
  • Grijp naar symbolische modi om bij te sturen, octaal om te zetten. +x en g-w wijzigen een ding; 644 en 755 verklaren de hele modus.
  • Onthoud dat SSH streng is. OpenSSH weigert een prive-sleutel of ~/.ssh-map te gebruiken die anderen kunnen lezen. chmod 600 ~/.ssh/id_ed25519 en chmod 700 ~/.ssh zijn de standaardoplossingen.
  • Lees de handleiding als je twijfelt. De gewoonte die een professional kenmerkt is niet het uit het hoofd kennen van elk bit; het is man chmod typen zodra er een vraag opkomt.
$ man chmod                              # the full manual page
$ chmod --help                           # a quick summary (GNU)
$ info coreutils 'chmod invocation'      # the verbose GNU manual
Naar boven

9. Veelgemaakte fouten

9.1 Mythe versus werkelijkheid

MytheWerkelijkheid
"chmod 777 lost rechtenproblemen op." Het verbergt ze en maakt een beveiligingsgat. De echte oorzaak is meestal eigenaarschap of een ontbrekend x-bit op een map.
"chmod verandert wie het bestand bezit." Nee. Eigenaarschap wijzig je met chown. chmod verandert alleen wat elke klasse mag.
"Leesrecht op een map laat me de bestanden erin openen." Een map lezen somt alleen namen op. Je hebt ook uitvoeren (x) op de map nodig om bij de bestanden te komen.
"Rechten houden bestanden veilig voor root." Root negeert de rechten-bits volledig. Rechten scheiden gewone gebruikers, niet de supergebruiker.
"chmod op een symlink wijzigt de link." Het volgt de link en wijzigt het doel. De eigen modus van een symlink (lrwxrwxrwx) staat vast en wordt genegeerd.

9.2 Andere valkuilen om te vermijden

  • chmod -R 644 op een map draaien. Dit haalt uitvoeren van elke submap weg en sluit je eruit. Gebruik in plaats daarvan de hoofdletter X.
  • Het x-bit op een map vergeten. Een webserver die "403 Forbidden" teruggeeft heeft vaak alleen uitvoeren op een bovenliggende map nodig, geen extra leesrecht.
  • 644 en 664 verwarren. Een cijfer extra geeft de hele groep schrijfrecht. Controleer het middelste getal goed.
  • Verwachten dat chmod 755 het setgid-bit van een map wist. Dat doet het niet. Gebruik chmod g-s om het expliciet te verwijderen.
  • chmod gebruiken terwijl je chown bedoelt. Als de juiste mensen na een moduswijziging nog steeds niet bij een bestand kunnen, hoort het bestand waarschijnlijk bij de verkeerde gebruiker of groep.
  • Aannemen dat een + in ls -l een typefout is. Een + aan het eind zoals -rw-rwxr--+ betekent dat het bestand een ACL heeft. Alleen de rechten-bits lezen misleidt je; controleer met getfacl.
Naar boven

10. Samenvatting

Het commando chmod is klein, maar het bestuurt de hele vraag "wie mag wat" op een Linux-systeem.

  • chmod betekent "change mode" (modus wijzigen). Het bewerkt de rechten-bits die ls -l toont, en is sinds 1971 onderdeel van Unix.
  • Elk bestand draagt lees-, schrijf- en uitvoerrechten voor drie klassen: eigenaar, groep en anderen.
  • Symbolische modi passen een ding tegelijk aan: u+x, g-w, a+r, en = om precies te zetten.
  • Octale modi zetten alles in een keer. Lezen is 4, schrijven is 2, uitvoeren is 1; tel ze op per klasse. 644, 755 en 600 dekken de meeste dagelijkse behoeften.
  • Gebruik -R om een boom te wijzigen, maar combineer het met de hoofdletter X zodat databestanden niet allemaal uitvoerbaar worden.
  • De speciale bits setuid, setgid en sticky (een vierde cijfer: 4, 2, 1) laten gereedschappen zoals passwd en de gedeelde map /tmp werken.
  • Op mappen wist een numerieke chmod het setgid-bit niet; gebruik daarvoor chmod g-s.
  • Je umask zet de rechten van bestanden die je nog niet hebt aangemaakt; het zet bits uit, dus denk maskeren, niet aftrekken.
  • Als de rechten-bits niet genoeg zijn, nemen ACL's (setfacl / getfacl, getoond door een + in ls -l) en capabilities (getcap / setcap) het over.
  • chmod schrijft alleen de bits. De kernel dwingt ze bij elke toegang af, en root negeert ze.
  • Bij twijfel: typ man chmod.

Dit is de handige naslag om te bewaren:

chmod +x file            make a file executable
chmod u+x file           add execute for the owner only
chmod g-w file           remove write from the group
chmod 644 file           rw-r--r--  a normal readable file
chmod 755 file           rwxr-xr-x  a script or directory
chmod 600 file           rw-------  a private file (SSH keys)
chmod 700 dir            rwx------  a private directory
chmod -R u=rwX,go=rX dir safe recursive: execute only on dirs
chmod g-s dir            remove the setgid bit from a directory
chmod 1777 dir           rwxrwxrwt  world-writable, sticky (like /tmp)
chmod --reference=A B    give B the same mode as A

Rechten zijn zo'n onderwerp dat er intimiderend uitziet tot het patroon klikt, en dan voelt het vanzelfsprekend. Als een server van jou steeds "Permission denied" of "403 Forbidden" blijft geven, of je niet zeker weet of een setuid-programma daar echt hoort, loont het vaak om iemand het hele plaatje van rechten en eigenaarschap goed te laten nakijken, voordat een snelle chmod 777 een klein probleem in een beveiligingsprobleem verandert.

Naar boven
Linux commando: chmod
Peter Martin
Peter Martin
Joomla Specialist

Peter is Joomla specialist en Linux admin voor snelle, veilige en schaalbare websites.