Home
Spiekbriefje
HOWTO's NL
Kabel internet
Poortnummers
IT begrippen
Default Passwords
   
Bestandspermissies wijzigen met de opdracht chmod

Er zijn verschillende manieren om permissies voor bestanden of directory's te wijzigen met behulp vand e opdracht chmod
Deze opdracht werkt niet een-twee-drie, maar eerder vier-twee-een

Je kan de opdracht chmod tenminste op verschillende manieren gebruiken
Je wilt waarschijnlijk de permissies voor bestanden in je homedirectory of (als je systeembeheerder bent) essentiele systeembestanden zelf kunnen instellen
Bij de opdracht chmod wordt de octale (achttallige) notatie gebruikt om de verschillende permissies in te stellen
Het rijtje 4-2-1 correspondeert met de drie tekens rwx in de permissie-indicator

Dit werkt als volgt: stel je wilt een van je bestanden beschermen, zodat niemand anders (behalve natuurlijk de root-operator) dit bestand kan lezen of ernaar kan schrijven

Als je het bestand in eerste instantie aanmaakt, hebben zowel jezelf als de leden van je groep volledige toegang (lezen en schrijven) tot het bestand; andere gebruikers kunnen het bestand alleen lezen

Met de wetenschap dat 4-2-1 overeenkomt met rwx en dat de drie verschillende permissies gelden voor respectievelijk jezelf, je groep en andere gebruikers, kun je de opdracht chmod teopassen met hetoctale getal 600 om de permissies in te stellen:

# touch eenbestand
# ls -l eenbestand
-rw-rw-r--    1   msa   msa     0   jan  2  17:23    eenbestand
# chmod 600 eenbestand
# ls -l eenbestand
-rw-------    1   msa   msa     0   jan  2  17:23    mijnbestand
Met deze opdracht heeft msa als enige volledige toegang tot het bestand: je kan lezen(4) + schrijven (2) = 6
De andere twee permissies worden 0 o ervoor te zorgen dat zowel de groep als de overige gebruikers geen enkele toegang hebben
Om de oorspronkelijke permissies weer in te stellen, schakel je lezen (4) + schrijven (2) = 6 in voor msa en voor de groep: voor de overige gebruikers schakel je alleen lezen (4) in
Dit resulteert in het octale getal 664:

# chmod 664 eenbestand
# ls -l eenbestand
-rw-rw-r--    1   msa   msa     0   jan  2  17:23    mijnbestand
Je kan dit ook toepassen op directory's zodat anderen bijvoorbeeld alleen de inhoud van je directory kunnen opvragen, maar geen toegang hebben tot de bestanden in de directory of juist alleen toegang hebben tot bestanden in de directory zonder dat ze de inhoud van de directory kunnen opvragen

Om een directory bijvoorbeeld te beveiligen tegen nieuwschierige blikken (behalve die van de root-operator) kun je als volgt te werk gaan:

# mkdir temp
# cd temp
# touch bestand1 bestand2 bestand3
#cd ..
# chmod 700 temp
# ls -ld temp
drwx------    2    msa    msa      1024   jan 2    22:50   temp
Als iemand anders dan jezelf probeert de inhoud van de directory op te vragen, verschijnt de volgende boodschap

# ls /home/msa/temp
ls: /home/msa/temp: Permission denied
Je kan ook aangeven dat anderen bestanden in de directory mogen lezen, maar dat ze niet de inhoud van de directory mogen opvragen
Dit doe je door de executable permissie van de directory te wijzigen:

# chmod 701
# ls -ld temp
drwx----x    2   msa    msa      1024    jan 2   22:50    temp
Nu kunnen andere gebruikers niet de inhoud van de directory opvragen, maar ze kunnen wel bestanden bekijken waarvan u ze hebt verteld dat ze in de directory te vinden zijn :

# ls -ld /home/msa/temp
ls: /home/msa/temp: Permission denied
# ls -l /home/msa/temp/bestand1
-rw-rw-r--    1    msa   msa    0   jan 2    22:50   /home/msa/temp/bestand1
Je ziet dat het gebruik van de octale notatie met de opdracht chmod niet erg moeilijk is
Het is aan jou om te beslissen wie in welke mate toegang heeft tot wat
De opdracht chmod kent ook het volgende opdrachtregel formaat:
ugoa +-= rwxXstugo

We zullen hier niet verder ingaan op de details van deze notatie (zie de helppagina van chmod), maar we laten toch enkele voorbeelden zien met dit formaat; deze voorbeelden hebben hetzelfde resultaat als eerder gegeven voorbeelden met octale notatie:

#ls -l bestand1
-rw-rw-r--    1    msa    msa     0    jan 2   22:50    bestand1
# chmod go- rwx bestand1
# ls -l bestand1
-rw------     1    msa    msa     0    jan 2   22:50    bestand1
Zoals je ziet, ben je de enige met lees- en schrijftoegang tot dit bestand, omdat je hebt aangegeven dat jouw groep (g) en anderen (others o) geen (-) permissie hebben voor het lezen (r), schrijven (w) of uitvoeren (x)
Op de volgende manier beveilig je een directory tegen pottenkijkers:

# chmod go-rwx temp
Om het laatste voorbeeld met octale notatie na te volgen zorgen we ervoor dat anderen wel bestanden in een directory kunnen bekijken, maar niet de inhoud van de directory kunnen opvragen:
# chmod o+x temp