Zo gebruik je deze tool
- Vink de vakjes lezen, schrijven en uitvoeren aan voor de eigenaar, de groep en alle anderen.
- Of typ een octale waarde zoals 640, of een symbolische tekenreeks zoals rw-r----- of -rw-r----- gekopieerd uit ls -l.
- Voeg indien nodig setuid, setgid of de sticky bit toe, of kies een veelgebruikte waarde.
- Voer de bestandsnaam in en kopieer de chmod-opdracht.
Hoe het werkt
Elk van de drie klassen (eigenaar, groep, anderen) heeft drie rechten. Lezen is 4 waard, schrijven 2 en uitvoeren 1; hun som is één octaal cijfer, dus rwx = 7, r-x = 5 en r-- = 4. Drie cijfers vormen de modus: 755 betekent rwx voor de eigenaar en r-x voor de groep en anderen.
Een optioneel vierde cijfer aan het begin bevat de speciale bits: 4 voor setuid, 2 voor setgid en 1 voor sticky. In symbolische vorm vervangen ze de uitvoerpositie: s voor setuid of setgid, t voor sticky. Een hoofdletter S of T betekent dat de speciale bit is ingesteld maar het uitvoerrecht niet, wat meestal een fout is.
Het symbolische veld accepteert negen tekens (rwxr-xr-x) of de vorm met tien tekens die ls -l afdrukt, waarbij het eerste teken het bestandstype is (- voor een bestand, d voor een map) en hier wordt genegeerd. Een afsluitende . of + van SELinux of ACL's wordt ook geaccepteerd.
Er worden twee opdrachten getoond: de octale vorm, die alle bits in één keer instelt, en de gelijkwaardige symbolische vorm zoals u=rwx,g=rx,o=rx. Bestandsnamen met spaties of andere speciale tekens worden voor de shell tussen aanhalingstekens gezet; een leidende ~/ en de wildcards * en ? blijven zonder aanhalingstekens zodat de shell ze kan uitbreiden. Met GNU chmod wist een octale modus op een map geen setuid- of setgid-bits die al zijn ingesteld; gebruik de symbolische vorm, of een vijfcijferige modus zoals 00755, als je ze wilt verwijderen.
Voorbeelden
Webbestanden en -mappen
Bestanden die de webserver alleen leest, zijn meestal 644 (rw-r--r--), en mappen 755 (rwxr-xr-x) zodat ze betreden en weergegeven kunnen worden.
Privé SSH-sleutel
SSH weigert sleutels die anderen kunnen lezen. Vink alleen lezen en schrijven voor de eigenaar aan om 600 te krijgen; de opdracht is chmod 600 ~/.ssh/id_ed25519 (voer het pad in als bestandsnaam).
Gedeelde uploadmap
Mappen in /tmp-stijl gebruiken 1777 (rwxrwxrwt): iedereen kan bestanden aanmaken, maar de sticky bit voorkomt dat gebruikers elkaars bestanden verwijderen.
Veelgestelde vragen
Wat is het verschil tussen 755 en 775?
Met 775 kan de groep ook schrijven (bestanden in een map aanmaken, wijzigen en verwijderen). Met 755 kan alleen de eigenaar schrijven; de groep en anderen kunnen lezen en uitvoeren.
Waarom moet ik 777 vermijden?
Met 777 kan elke gebruiker op het systeem het bestand wijzigen of vervangen. Op een webserver kan een ander account of een gecompromitteerd proces daardoor code injecteren. Geef schrijftoegang alleen aan de eigenaar of een specifieke groep.
Wat betekent uitvoeren voor een map?
Bij een map betekent uitvoeren (x) dat je de map mag openen en de bestanden erin kunt bereiken. Alleen lezen laat je de namen zien, maar niet de bestanden openen.
Wijzigt dit de machtigingen op mijn computer?
Nee. De tool berekent alleen de waarden en stelt de opdrachttekst samen. Je voert de opdracht zelf uit in een terminal.
Privacy
Alles wordt in je browser berekend. De bestandsnaam die je invoert wordt nergens naartoe gestuurd, opgeslagen of in analyses opgenomen.