7/5/2007

Bestanden op de webserver (on)leesbaar maken met chmod

Filed under: — pinguim @ 12:54 pm

De onderstaande beschrijving is gemaakt vanuit een terminal login op afstand op de webserver ingelogd.
Met Konqueror zou je gelijkaardige dingen kunnen doen (ingelogd met fish of ftp), maar de ftp-account bji een provider is soms een verschillende “user” op het systeem, met verschillende bestandsrechten als gevolg.
Ssh en fish zullen waarschijnlijk dezelfde eigenschappen geven.

Ga naar de directory waar de site staat (bv “/srv/www/htdocs/”). Daarin maak je als voorbereiding een test directory met een sub-map erin om de rechten uit te proberen: “test/rechten”. ( mkdir test, cd test, mkdir rechten)

Van daaruit gaan we

  • een paar testbestanden maken
  • veranderen we de lees-rechten op verschillende niveau’s
  • kijken telkens naar de bestandseigenschappen en gevolgen vanuit de browser en vanuit de login


– Maak een paar tekstbestanden met volgende commando’s:

pinguim@ice:> echo "Dit is een leesbare tekst">leesmijnietiedereen.txt
pinguim@ice:> echo "Dit is een leesbare tekst">leesmij.txt
pinguim@ice:> echo "Dit is een leesbare tekst">leesmijnietikzelf.txt

en bekijk de directory met:

pinguim@ice:> ls -lF
# geeft lijnen als:
-rw-r--r-- 1 pinguim users 195 2007-05-07 10:39 leesmij.txt

– Wijzig de leesrechten:

pinguim@ice:> chmod o-r leesmijnietiedereen.txt
# leesrechten afgenomen -r van other groep (=iedereen op het systeem)
pinguim@ice:> ls -lF leesmijnietiedereen.txt
-rw-r----- 1 pinguim users 195 2007-05-07 10:39 leesmijnietiedereen.txt

pinguim@ice:> chmod u-r leesmijnietikzelf.txt
pinguim@ice:> ls -lF leesmijnietikzelf.txt
--w-r--r-- 1 pinguim users 27 2007-05-07 10:47 leesmijnietikzelf.txt

– Het bestand “lezen” vanop de command prompt met het cat commando:

pinguim@ice:> cat leesmij.txt
Dit is een leesbare tekst
pinguim@ice:> cat leesmijnietiedereen.txt
Dit is een leesbare tekst
pinguim@ice:> cat leesmijnietikzelf.txt
cat: leesmijnietikzelf.txt: Permission denied
# zoals verwacht kan je het laatste niet meer "lezen".
# in de rechten kan je zien dat je het nog wel kan schrijven.

– Via het web, in de browser:

http://server.domein.tld/test/rechten/leesmij.txt
Ik krijgt de tekst te zien in de browser.

http://server.domein.tld/test/rechten/leesmijnietiedereen.txt
Ik krijg een foutmelding in de browser:

You don’t have permission to access the requested object. It is either read-protected or not readable by the server.

In dit geval kan de webserver de tekst niet lezen. (Op een andere installatie, waar de webserver en ikzelf als gebruiker in dezelfde groep zitten, kan dat echter wel.)

http://server.domein.tld/test/rechten/leesmijnietikzelf.txt
Ik krijgt de tekst te zien in de browser.

Wat je in de browser te zien krijgt hangt af van de rechten van de webserver.

Een bestand dat voor de ingelogde gebruiker niet-leesbaar is, kan via het web perfect leesbaar zijn!
Anderzijds kan een bestand dat voor mij als ingelogd gebruiker perfect leesbaar is, toch onleesbaar zijn voor de webserver (en dus onbereikbaar via het net).
Een onleesbaar bestand kan wel voorkomen in de directory listing op de webserver (als de directory niet afgeschermd is bv met een index)

Reacties zijn gesloten.

Powered by WordPress