Ieder bestand en map dat je op onze server staat heeft bepaalde rechten. Deze rechten bepalen of iemand toegang tot een bestand heeft, het bestand kan lezen en of iemand het bestand kan bewerken.
In Unix worden deze rechten in drie cijfers uitgedrukt. Het eerste cijfer staat voor de User, het tweede voor de Group en het derde voor de rest van de wereld. De cijfers hebben de volgende betekenis:
Cijfer | Symbolisch | Betekenis |
---|---|---|
0 | - - - |
mag niets |
1 | - - x |
mag uitvoeren |
2 | - w - |
mag schrijven |
3 | - w x |
mag schrijven en uitvoeren |
4 | r - - |
mag lezen |
5 | r - x |
mag lezen en uitvoeren |
6 | r w - |
mag lezen en schrijven |
7 | r w x |
mag lezen, schrijven en uitvoeren |
Een map uitvoeren betekent dat u toegang hebt tot de inhoud van de map. Een map lezen wil zeggen dat u de inhoud kunt bekijken en het schrijfrecht op een map wil zeggen dat u bestanden kunt toevoegen aan en kunt verwijderen uit de map.
Het recht tot het uitvoeren van een bestand is niet van belang voor PHP-scripts, maar slechts voor Perl-scripts. Een PHP-script is uitvoerbaar als Apache het recht heeft om het bestand te lezen; alle PHP-scripts werken ook onder deze User/Group.
In DirectAdmin kun u bekijken welke User en welke Group aan een bepaalde map of bestand gekoppeld zijn. In principe zul u drie verschillende Users en Groups tegenkomen: uw gebruikersnaam, 'apache' en 'mail'. Let erop dat deze drie elkaars rechten niet overerven!
Standaard krijgen de bestanden die u uploadt het recht 644 en mappen het recht 755. Verder zal de User op je gebruikersnaam komen te staan en de Group op 'apache'. Dat is in principe voldoende voor de meeste toepassingen. Wil u echter kunnen schrijven naar een bepaalde map vanuit PHP, dan kan je de rechten van die map op 775 zetten. Wil je een bestand bewerken, dan is 664 voldoende.
Als de User en Group zijn veranderd (bijvoorbeeld omdat u 'Ownership Reset' hebt gedaan) zul u moeten kiezen voor 666 voor bestanden en 755 voor mappen, omdat 'apache' dan geen eigenaar meer is en onder 'de rest' valt. Dit levert geen veiligheidsrisico op, aangezien de mappen en bestanden al op een hoger niveau worden afgescheiden van andere gebruikers. Dat wil dus zeggen dat niemand behalve jij toegang hebt tot uw bestanden.
Veel voorkomende rechten voor bestanden zijn:
Code | Betekenis |
---|---|
644 | Schrijf- en leesrechten vanuit de User, alleen leesrechten vanuit de rest |
664 | Schrijf- en leesrechten voor de User en Group, de rest alleen leesrechten |
666 | Iedereen kan lezen en schrijven naar het bestand |
Voor mappen zijn gangbaar:
Code | Betekenis |
---|---|
755 | Iedereen kan de inhoud van de map bekijken en bestanden uitlezen; de User kan bovendien nog bestanden aanmaken en verwijderen |
775 | Iedereen kan de inhoud van de map bekijken en bestanden uitlezen; de User en Group kunnen verder nog bestanden aanmaken en verwijderen |
777 | Iedereen kan bestanden aanmaken en verwijderen en de inhoud van de map bekijken en uitlezen |
In DirectAdmin kun je onder UID de gekoppelde User en onder GID de Group vinden. Met de knop 'Reset Ownership' kun je de User en Group van het item op je eigen gebruikersnaam zetten. Bij een map kun je ook kiezen om dit 'Recursively' te doen: dan worden alle subitems ook gereset. Let erop dat een 'Ownership Reset' ook de eigenaar 'apache' verwijdert en je dus waarschijnlijk 'de rest' meer rechten moet geven.
De rechten (cijfers) kunt u aanpassen met behulp van DirectAdmin of met een FTP-programma. Hoe dat precies werkt, staat per applicatie uitgelegd op de uploadpagina.
Hoewel hierboven staat dat het laatste getal de rest van de wereld betreft, is het veiligheidsrisico beperkt. Het juist kiezen van rechten is belangrijk, maar geen pure noodzaak. Omdat op een hoger niveau de toegang tot andere gebruikers op dezelfde server wordt geblokkeerd, is het niet mogelijk dat een andere gebruiker uw bestanden aan kan passen. Bovendien kan een bezoeker van uw website in het algemeen geen bestanden op uw webhost beheren.
U moet vooral uitkijken bij uploadscripts. Deze bieden bezoekers de mogelijkheid om bestanden naar je website up te loaden, waardoor dit een 'lek' is. Als u dit echter goed afvangt en bijvoorbeeld voorkomt dat gebruikers naar de map '../' kunnen uploaden (dat is de bovenliggende map) is ook hier het veiligheidsrisico beperkt.
Echter moet u een map in het algemeen niet meer rechten geven dan nodig. Als een map niet bedoeld is voor uploaden of door aanpassing door een script (bijvoorbeeld caches), zet de rechten van die map dan niet op '755'.