# chmod-calculator

Reken Unix-bestandsrechten om tussen octaal (755), letters (rwxr-xr-x), ls -l en chmod-clausules, met een rooster van selectievakjes en de setuid-, setgid- en sticky-bits.

https://codeknife.dev/nl/chmod-calculator/

## Wat het doet

Rekent Unix-bestandsrechten om tussen octaal (`755`), rechtenletters (`rwxr-xr-x`), een `ls -l`-regel en `chmod`-clausules (`u=rwx,g=rx,o=rx`). Vink het rooster aan en elke notatie volgt, inclusief de setuid-, setgid- en sticky-bits.

## Zo gebruik je het

1. Typ een modus in een willekeurige notatie, of vink de vakjes aan.
2. Lees hem in elke notatie en pas er een van aan.
3. Kopieer de omgerekende waarde, of kies een bestandstype om de `ls -l`-regel voor een map of link te zien.

## Voorbeelden

`755` is `rwxr-xr-x`: de eigenaar mag lezen, schrijven en uitvoeren, alle anderen mogen lezen en uitvoeren. `644` is `rw-r--r--`, de gebruikelijke modus voor een bestand, en `1777` is `rwxrwxrwt`, een gedeelde map zoals `/tmp`.

## Goed om te weten

- Cijfers tellen lezen 4, schrijven 2 en uitvoeren 1 op voor de eigenaar, de groep en alle anderen. Een vierde cijfer ervoor voegt setuid 4, setgid 2 en sticky 1 toe.
- In letters nemen de speciale bits de plek van uitvoeren in: `s` voor setuid en setgid, `t` voor sticky. Een hoofdletter `S` of `T` betekent dat de speciale bit aan staat zonder de uitvoerbit.
- Clausules zoals `u=rwx,g=rx,o=rx` stellen elke klasse in, en een klasse die geen clausule noemt heeft geen rechten. Relatieve vormen zoals `u+x` worden hier niet gelezen, omdat ze afhangen van de huidige modus van een bestand.

## Wat betekenen de cijfers in chmod?

Elk cijfer telt lezen (4), schrijven (2) en uitvoeren (1) op voor één klasse: het eerste cijfer is de eigenaar, het tweede de groep en het derde alle anderen. 755 betekent dus dat de eigenaar mag lezen, schrijven en uitvoeren en de anderen mogen lezen en uitvoeren. Een vierde cijfer ervoor voegt setuid (4), setgid (2) en sticky (1) toe.

## Veelgestelde vragen

### Wat zijn setuid, setgid en de sticky bit?

Met setuid en setgid draait een programma met de rechten van zijn eigenaar of groep in plaats van die van wie het start. Op een map zorgt setgid dat nieuwe bestanden de groep erven, en met de sticky bit (zoals op /tmp) mag alleen de eigenaar van een bestand het verwijderen. In letters zijn het een s of t op de plek van uitvoeren; een hoofdletter S of T betekent dat de uitvoerbit niet aan staat.

### Waarom is 777 een slecht idee?

Dan kan elke gebruiker op het systeem het bestand wijzigen of vervangen. Geef de eigenaar wat die nodig heeft en de groep of anderen alleen de toegang die echt nodig is: voor scripts is dat meestal 755, voor privébestanden 600.

### Stuurt deze tool mijn invoer ergens heen?

Nee. Alles gebeurt in je browser. Wat je typt wordt nooit naar onze servers gestuurd.