Bestanden en permissies
Uit DeVliegendeWiki
Als ik onder Linux een bestand aanmaak, bv. mbv. touch temp, en ik geef het commando ls -l temp krijg ik output zoals:
-rw-r--r-- l strompf strompf 0 2009-11-13 19:18 temp
Het eerste karakter geeft het type object weer:
| Karakter | Object |
|---|---|
| - | Bestand |
| d | Directory |
| c | Character device (bv. /dev/ttyS0) |
| b | Block device (bv. /dev/hda) |
Daarna heb je drie groepen van drie karakters. Deze groepen corresponderen met drie groepen gebruikers: Eigenaar, groep, overig:
| Gebruikers | Evaluatie |
|---|---|
| Owner | De eigenaar is het account waar dit bestand eigendom van is. Dan kan een account van een mens zijn, maar ook een account dat bv. bij een deamon of programma hoort. Bv.: een bestand dat door php-code is aangemaakt op een webserver, kan als eigenaar apache hebben, omdat de php-interpretator binnen dat account functioneert. In het voorbeeld hierboven is de eigenaar het account strompf Eigendom van een bestand kun je aanpassen met commando chown |
| Group | Je kunt een bestand associeren met een willekeurige groep. Op die manier kun je specifieke permissies zetten voor een groep van mensen of programma's: Stop de betreffende accounts in een groep, associeer dit bestand met die groep, en regel de permissies. In het voorbeeld hierboven, hoort dit bestand bij de groep strompf. Je kunt het toewijzen van een account aan een groep wijzigen met het commando chgrp |
| Others | Others is iedereen behalve eigenaar, groep en naar het lijkt: root. Je kunt namelijk als root zo'n bestand aanpassen, dus root valt niet onder Others. Aanpassingen door root veranderen de file permissions niet. |
Per groep kunnen drie bits gezet worden:
- r - 4 - read
- w - 2 - write
- x - 1 - execute.
De drie bits per groep worden vaak octaal weergegeven. Voorbeeld:
rw-r--r-- rw- = 6 r-- = 4 r-- = 4 644
Terug naar de issues die aan het begin van dit artikel genoemd worden. Tav. punt (4): Drupal is niet in staat om mappen zelf aan te maken: Het account waaronder php functioneert, valt binnen Others. De map waarin Drupal mappen wil aanmaken, moet dus een w hebben bij Others. Oftewel, het laatste triplet moet dat-triplet-OR-2 zijn. In het voorbeeld hierboven: rw-r--r-- (644) > rw-r--rx- (644 or 002 = 646).
chmod - Voorbeelden
chmod 664 myfile
Recursief:
chmod <permissies> <objecten> -R
Voorbeelden: http://catcode.com/teachmod/chmod_cmd2.html
Bron: http://www.webmasterworld.com/forum46/292.htm
Veel voorkomende configuraties
| In letters | Octaal | Evaluatie |
|---|---|---|
| rwx --- --- | 700 |
|
| rwx r-x r-x | 755 |
Dit is vermoedelijk een veelvoorkomend configuratie, omdat je alleen niet wil dat andere processen mogen schrijvan naar bestanden. |
