Bestanden en permissies

Uit DeVliegendeWiki

Ga naar: navigatie, zoeken

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
  • Eigenaar kan lezen, schrijven en uitvoeren
  • Anderen kunnen niets
rwx r-x r-x 755
  • Eigenaar mag lezen, schrijven en uitvoeren
  • Leden van Group mogen lezen en uitvoeren
  • Anderen mogen lezen en uitvoeren

Dit is vermoedelijk een veelvoorkomend configuratie, omdat je alleen niet wil dat andere processen mogen schrijvan naar bestanden.

Persoonlijke instellingen