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.
Codevoorbeelden
Kopieer deze voorbeelden naar je eigen project. Ze gebruiken alleen de standaardbibliotheek van de taal, dus er hoeft niets geïnstalleerd te worden.
const mode = parseInt('755', 8)
const letters = [...'rwxrwxrwx'].map((letter, i) => (mode & (0o400 >> i) ? letter : '-'))
console.log(letters.join(''))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
- Typ een modus in een willekeurige notatie, of vink de vakjes aan.
- Lees hem in elke notatie en pas er een van aan.
- 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:
svoor setuid en setgid,tvoor sticky. Een hoofdletterSofTbetekent dat de speciale bit aan staat zonder de uitvoerbit. - Clausules zoals
u=rwx,g=rx,o=rxstellen elke klasse in, en een klasse die geen clausule noemt heeft geen rechten. Relatieve vormen zoalsu+xworden 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.