inhoud van de pagina

Hoe stel ik de permissies (toelatingen) in van mijn PHP- en HTML bestanden?

Als je geen shell-toegang hebt moet je dit doen binnen je FTP-clientprogramma waarmee je je bestanden oplaadt. Verander de rechten van de map cgi-bin of van uw root-map niet, want dan vermindert u de veiligheid van uw website!

Om de permissies op uw bestanden en mappen te wijzigen kunt u ook, als u beschikt over een Webmin-toegang tot uw site, gebruik maken van de module FileManager geïntegreerd in Webmin.

De meeste van de eenvoudige FTP-clients bieden een grafisch beheer aan van de permissies:

gebruiker groep wereld
read (lezen) X X X
write (schrijven) X X
execute (uitvoeren)

Veronderstel "groep " en "wereld" als entiteiten waaraan u maar heel voorzichtig toegangsrechten toekent aangezien u geen lid bent van een groep. Anderzijds, de gebruiker www-data is diegene waarmee de webserver wordt uitgevoerd en secundair lid van uw groep. Dus als u de rechten van een map volledig opent voor de groep, geeft u ook de mogelijkheid aan PHP-scripts om bestanden aan te maken binnen deze map. In het geval van uw eigen PHP-programma of uw CMS die moeten kunnen schrijven in een map, is het dus niet altijd noodzakelijk té losse toegangsregels te maken (in octale getallen 775 ipv 777 zou moeten volstaan, zie meer naar onder ...). In feite worden PHP-scripts uitgevoerd via mod_php rechtstreeks door de webserver, en dus met de gebruikersnaam (uid) van deze laatste (www-data).

Voor een zeer eenvoudig CGI-script wil je bv deze rechten toekennen:

gebruiker groep wereld

-rwx --x --x

In sommige gevallen zal uw CGI-script ook leesrechten nodig hebben voor de "wereld":

gebruiker groep wereld

-rwx r-x r-x

Een goede handelswijze is om zo weinig mogelijk toelatingen te geven. Het bovenstaande voorbeeld kan ook in cijferwaarden geschreven worden, zoals:

gebruiker groep wereld

-rwx --x --x

wordt 711.

En:

gebruiker groep wereld

-rwx r-x r-x

wordt 755.

Om het eenvoudig te zeggen: voor elk van de drie groepen (gebruiker, groep, wereld) moet tussen 0 en 7 gekozen worden.

0 betekent geen enkel toegangsrecht

1 betekent uitvoeringsrechten (execute) - wees hiermee zeer voorzichtig

2 betekent schrijfrechten (voorzichtigheid geboden)

4 betekent leesrechten (dat is het enige benodigde recht voor standaard HTML-bestanden)

Als de de cijferwaarden samentelt combineer je de rechten, bijvoorbeeld 1+2=3 zodat 3 uitvoerings- en schrijfrechten betekent.

Je kan deze rechten eens uitproberen in je directory om ze te leren gebruiken. Maar vergeet niet telkens na te kijken welke rechten te toekent. Een foutje kan fataal zijn wat de veiligheid van de inhoud betreft.

Voor je gemeenschappellijke HTML- en PHP bestanden zou je enkel 644 toelatingen mogen geven. Dat betekent dat jij, de gebruiker, lees- en schrijfrechten hebt (4+2=6), de groep leesrechten (4) en de wereld ook leestoegang (4); (samengevat maakt dit 644). Meestal gebruikt je FTP-cliënt dit cijfer voorzichtigheidshalve als standaardinstelling.