Chmod-calculator

Klas Lezen (r) Schrijven (w) Uitvoeren (x)
Eigenaar
Groep
Overigen
Volgende

Unix-bestandsrechten bestaan uit drie drietallen, lezen, schrijven, uitvoeren voor eigenaar, groep en overige, die netjes samenkomen in een octaal getal van drie cijfers. chmod 755 script.sh is rwxr-xr-x: de eigenaar heeft alles, groep en anderen hebben lees- en uitvoerrechten. Met deze rekenmachine kunt u elk selectievakje aan- of uitzetten en de octale waarde live zien veranderen, of een octaal getal plakken en de rwx-uitsplitsing bekijken, met het exacte chmod-commando klaar om te kopiëren.

Hoe chmod-rechten werken

  1. 1

    Schakel tussen de 9 toestemmingsbits

    Drie groepen (gebruiker, groep, anders) × drie machtigingen (lezen, schrijven, uitvoeren) = 9 selectievakjes.

  2. 2

    Elke groep wordt één octaal cijfer

    Lezen = 4, schrijven = 2, uitvoeren = 1. Tel de bits op die u ingeschakeld wilt hebben.

  3. 3

    Lees de resulterende octale en symbolische vorm

    bijv. 755 → rwxr-xr-x; 644 → rw-r--r--; 600 → rw-------.

  4. 4

    Kopieer de chmod-opdracht

    De tool toont het chmod-commando voor de huidige rechten, klaar om te kopiëren. Voorbeelden: chmod 755 bestandsnaam, chmod u+x bestandsnaam, chmod -R 755 map.

Toestemmingsbitwaarden

Bit Waarde Betekenis voor bestanden Betekenis voor mappen
Lezen 4 Kan inhoud bekijken Kan vermeldingen weergeven
Schrijven 2 Kan wijzigen Kan vermeldingen maken/verwijderen/hernoemen
Uitvoeren 1 Kan als programma worden uitgevoerd Kan doorlopen (cd naar binnen, toegang tot de inhoud)

Algemene chmod-waarden

Octaal Symbolisch Typisch gebruik
777 rwxrwxrwx Wereldbeschrijfbaar – gevaarlijk; zelden correct
755 rwxr-xr-x Scripts, binaire bestanden, mappen
750 rwxr-x--- Scripts privé voor u en uw groep
700 rwx------ Scripts die privé voor u zijn (SSH, ~/.ssh)
644 rw-r--r-- Openbare documenten, afbeeldingen, HTML
640 rw-r----- Voor groepen leesbare configuraties
600 rw------- Privéconfiguraties, privé-SSH-sleutels, ~/.netrc
444 r--r--r-- Alleen-lezen gepubliceerde bestanden
400 r-------- Privé-alleen-lezen (zelden correct; gebruik 600)

Speciale machtigingen (zeldzaam maar belangrijk)

  • setuid (4xxx): voert het bestand uit als de eigenaar, ongeacht wie het uitvoert. /usr/bin/passwd maakt hiervan gebruik.
  • setgid (2xxx): op bestanden, wordt uitgevoerd als de groep. Op mappen nemen nieuwe bestanden de groep van de map over.
  • sticky bit (1xxx): in mappen kan alleen de eigenaar van het bestand verwijderen/hernoemen. /tmp maakt hiervan gebruik.

Viercijferige octalen omvatten deze: chmod 4755 setuid-binary schakelt setuid in naast 755.

Symbolische chmod

Veel beheerders geven de voorkeur aan een symbolische vorm voor incrementele wijzigingen:

  • chmod u+x script, voeg uitvoeren alleen toe voor de eigenaar.
  • chmod go-w file, verwijder schrijven voor groep en andere.
  • chmod a+r file, geef leesrechten aan iedereen (gebruiker, groep, overige).
  • chmod u=rw,go=r file, stel precies deze bits in.
  • chmod -R 755 directory, recursief.

Veelgemaakte fouten

  • 777 op uploadmappen: lijkt “rechten te herstellen”; opent de server daadwerkelijk voor aanvallers. Gebruik een smallere combinatie (bijvoorbeeld 755 met correct groepseigendom).
  • chmod -R 644 voor mappen: verwijdert execute voor mappen, zodat je cd er niet in kunt. Gebruik 755 voor mappen, 644 voor gewone bestanden.
  • 0600 versus 600: voorloopnul geeft octaal aan in C en shell; de meeste chmod-implementaties accepteren beide.
  • Umask: nieuwe bestanden nemen 666 over minus het umask. Standaard umask 022 geeft 644 bestanden en 755 mappen.

Veelgestelde vragen

Normaal gesproken wilt u dat de eigenaar wijzigingen kan aanbrengen en dat alle anderen de lijst kunnen weergeven en doorzoeken. 755 = rwx voor eigenaar, r-x voor groep en anders - precies die combinatie.

Bijna nooit. 777 laat iedereen op het systeem het bestand wijzigen. In systemen met meerdere gebruikers is het een beveiligingslek; in systemen voor één gebruiker is dit niet nodig (de eigenaar heeft al rwx met 755). Als een webapp 777 nodig lijkt te hebben, is de echte oplossing het juiste eigendom (chown) of groepslidmaatschap.

~/.ssh-map: 700. Privésleutels (id_rsa, id_ed25519): 600. Publieke sleutels (.pub): 644. authorized_keys: 600. SSH weigert sleutels met bredere machtigingen als veiligheidsmaatregel.

chown voor eigenaar, chgrp voor groep - afzonderlijke opdrachten. chmod verandert alleen bits, niet de gebruiker/groep die eigenaar is van het bestand.

Gerelateerde tools