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:
- Schrijf de permissies op die je voor een bestand wilt hebben, bijvoorbeeld:
rwx r-x r-- document.txt - Schrijf nu een 1 onder elke letter en een 0 daar waar een streepje staat:
rwx r-x r-- document.txt
111 101 100 - 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.





