Encoders & Utilities

Chmod Calculator

Converteer tussen numerieke en symbolische UNIX-permissies.

Permissions Type octal (e.g. 755 or 4755) or symbolic (rwxr-xr-x).
-rwxr-xr-x
chmod 0755
Octal
0755
Symbolic
-rwxr-xr-x
Binary
111 101 101
Permission matrix
Read
Write
Execute
Owner
r
w
x
Group
r
·
x
Other
r
·
x
Special bits
setuid
Run as file owner. Common on /usr/bin/passwd.
setgid
Inherit group on directories. Used in shared folders.
sticky
Only owner can delete. Used on /tmp.

Over deze tool

Chmod Calculator vertaalt tussen de drie manieren om UNIX-bestandsrechten uit te drukken: octaal (755, 644), symbolisch (rwxr-xr-x, rw-r--r--) en symbolische modus (u=rwx,go=rx, de vorm die chmod zelf als input accepteert). Klik de read/write/execute-checkboxes voor owner/group/other en de drie representaties updaten in lockstep, met het equivalente chmod-commando getoond klaar om te kopiëren.

Speciale bits worden ook ondersteund: setuid (4000), setgid (2000) en sticky (1000) — de bits die /tmp veranderen in een gedeelde schrijfbare map waar gebruikers elkaars bestanden niet kunnen verwijderen (sticky), en die binaries als passwd rechten laten escaleren (setuid). De weergave annoteert elk met zijn beveiligingsimplicatie zodat u weet wat u op het punt staat toe te passen.

Wanneer gebruikt u deze tool

  • Webserver-bestandsbomen hardenen. Bevestig 644 voor bestanden en 755 voor mappen voordat u iets verandert in chmod -R.
  • "Permission denied" oplossen. Decodeer het resultaat van ls -l naar octaal om te vergelijken met wat uw app verwacht.
  • Gedeelde mappen instellen. Krijg de sticky-bit-combinatie juist (1777) voor een multi-user uploadmap.
  • UNIX-rechten leren. De interactieve bit-checkboxes zijn de snelste manier om te begrijpen hoe octaal naar rwx mapt.

Over umask en standaardrechten

De umask is de inverse van de calculator-output — het vertelt de kernel welke bits moeten worden uitgeschakeld wanneer een nieuw bestand of map wordt aangemaakt. Een gangbare umask 022 geeft u standaard 644-bestanden en 755-mappen; een strakkere umask 077 geeft 600-bestanden en 700-mappen (privé voor owner). De juiste umask systeem-breed kiezen is efficiënter dan elk bestand individueel chmod-en.

Veelgestelde vragen

Wat is het verschil tussen 644 en 755?

644 is "owner leest/schrijft, iedereen anders leest alleen" — de juiste standaard voor statische bestanden (HTML, CSS, afbeeldingen). 755 voegt execute toe voor iedereen, wat betekenisloos is voor statische bestanden maar essentieel voor mappen (zonder execute op een map kunt u er niet cd in) en voor scripts/binaries. De vuistregel: 644 voor bestanden, 755 voor mappen.

Wat doet setuid eigenlijk?

Het vertelt de kernel "wanneer deze binary draait, draai hem als de owner van het bestand, niet als de gebruiker die hem aanroept". /usr/bin/passwd heeft setuid root zodat een gewone gebruiker zijn wachtwoord kan wijzigen (wat schrijven naar /etc/shadow vereist). Het is een krachtige maar gevaarlijke permissie; alleen systeembinaries zouden het moeten hebben, nooit user-scripts. Shell-scripts negeren setuid om beveiligingsredenen in moderne UNIX.

Waarom is execute nodig op mappen?

Op een map betekent het execute-bit "u kunt deze map betreden (traverseren)". Zonder execute kunt u niet cd-en in de map, de inhoud listen (met ls is ook read nodig), of bestanden erbinnen lezen zelfs als die bestanden read-permissie hebben. Een map met read-only-modus (444) is kapot — u ziet de namen maar u kunt geen van hen stat-en.

Waar is het sticky-bit goed voor?

Op een map betekent het "alleen de owner van het bestand (of root) kan het verwijderen of hernoemen". /tmp gebruikt 1777 — iedereen kan schrijven, maar u kunt alleen uw eigen bestanden verwijderen. Zonder sticky kon iedereen iemands tempfiles rm-en. Het bit komt van een legacy-gebruik op uitvoerbare bestanden (hield tekst in swap), nu obsoleet op bestanden; op mappen is het nog steeds zeer nuttig.