L4L.be

...because open source matters

  • Increase font size
  • Default font size
  • Decrease font size
Home Linux Documentatie Bash documentatie Rechten op bestanden aanpassen

Rechten op bestanden aanpassen

E-mail Print PDF

Waar onder Windows 95, 98 en ME, alle bestanden en directories dezelfde rechten kennen, omdat het geen multi-user besturingssystemen zijn, zijn de mogelijkheden om rechten toe te kennen erg beperkt, en ook door iedereen weer te wijzigen. Veel verder dan read-only en hidden kom je niet. Pas in latere versies van Windows is dit veranderd met de komst van het NTFS filesystem. Onder Linux kennen we iets soortgelijks: elke directory, elk bestand, en elk device heeft zijn eigen rechten. Die lijken op het eerste gezicht wat complex, maar dat valt best mee.

Structuur

Voer volgende commando uit:

ls -al ~

Hieronder zie je een deel van de output:

  
drwx------ 2 fvos users    1 Feb 19 09:51 Documents
drwxr-xr-x 5 fvos users   24 Feb 18 22:29 GNUstep
drwxr-xr-x 5 fvos users 4096 Feb 19 17:23 download

De letters hebben uiteraard allemaal een betekenis. Er zijn 10 posities, opgedeeld in 1 sticky bit, en 3*3 permissies.

Sticky bit staat voor het type bestand:

  • d = directory
  • l = link
  • - = mime

toegangsrechten: opgedeeld in:

  • user: r(ead), w(rite), (e)x(ecute)
  • group r(ead), w(rite), (e)x(ecute)
  • others r(ead), w(rite), (e)x(ecute)

Voorbeeld: om een bestand group als user als other rwx te geven (rwxrwxrwx):

chmod 777 bestandsnaam

Hoe komen we nu aan die 777 ? Eigenlijk is dat vrij simpel:

  1. Schrijf de permissies op die je voor een bestand wilt hebben, bijvoorbeeld:
    rwx r-x r-- document.txt
  2. Schrijf nu een 1 onder elke letter en een 0 daar waar een streepje staat:
    rwx r-x r-- document.txt
    111 101 100
  3. Nu wordt het een kwestie van binair rekenen: 000=0, 001=1, 010=2, 011=3, 100 = 4, 101 = 5, 110 = 6 en 111=7. Met andere woorden ons voorbeeld heeft als commando nodig:
    chmod 754

Met de parameter -R verander je een complete directory + inhoud.

chown - verander gebruiker en/of groep

De syntax:

chown group:user bestandsnaam of directory

Als de groep hetzelfde blijft kun je die weglaten. En ook hier kun je de parameter -R gebruiken: de rechten op een complete directory + inhoud worden aangepast.

chgrp - verander groep

Als je alleen de groep wil aanpassen gebruik je het commando chgrp:

chgrp group bestandsnaam of directory

Ook hier werkt de parameter -R.