Om du inte vet vad filrättigheter är, så bör du läsa lite om det först.
Generellt
När du lastar upp nya filer och kataloger till ditt webhotell med FTP, så får dom automatiskt riktiga rättigheter så att dom kan både läsas och ändras/raderas av din användare, medans webservern och andra användare endast får läsrättigheter.
En del PHP-program kommer med instruktioner om att använda kommandot chmod 777
eller chmod 666
för att sätta rätt rättigheter. Det är som regel fel.
Fel filrättigheter kan medföra att websidor inte fungerar ("Internal server error" eller andra felmeddelanden), och leder till en säkerhetsrisk: andra kan förstöra dina websidor.
Nedan följer information om vad som är nödvändigt och korrekt för våra kunder.
PHP
Inga PHP-filer ska vara skrivbara för andra, även om t.ex. Joomla- eller WordPress-instruktionerna påstår det.
PHP-filer behöver heller inte vara körbara ("executable"/"program"), och det är inte nödvändigt att dom är läsbara för andra ("others"/"public"/"anyone"/"everyone")
Filer med hemliga inställningar admin-lösenord, databaslösenord, osv. bör inte vara läsbara för andra, eftersom informationen kan användas till att modifiera dina websidor!
Se evt. också på teknisk information om PHP.
Teknisk om PHP
PHP på våra webservrar kör under uWSGI med register_globals=Off
. PHP-program kör med din egen Unix-/FTP-användares rättigheter, och inte som en del av webbserveren.
Om fina filer är skrivbara för andra än din Unix-användare, så får du felmeddelandet "Internal server error".
Konfigurationsfiler ("config.php", "configuration.php", osv.) som innehåller lösenord till databas o.l. bör intee vara läsbara för andra, eftersom det kan utnyttjas till att modifiera din data. I Unix shell ordnar du det med kommandot chmod o-r configuration.php
(talkoden för sådana filer är 640 eller 600).
I FTP, ta bort läsrättigheter för "others"/"andre".
CGI
Alla CGI-skript måsta vara körbara ("executable" på engelska), dvs. ha x-bit satt. Det gör du med kommandot chmod ug+x filnamn.cgi
i Unix shell. FTP-program har liknande namn på den samma funktionen.
På våra webservrar kör CGI-skript som din egen Unix användare, inte användaren www, så det är inte nödvändigt att filer och kataloger som det skrivs till av CGI-skripten är skrivbara för andra än din egen användare.
Alla CGI-skripts måste ägas av din egen UNIX-användare och dom kan inte vara skrivbara för andra den. Dom kan heller inte ligga i kataloger som är skrivbara för andra än dig själv.
Konfigurationsfiler ("config.cgi", "config.pl", "configuration.cgi", osv.) som innehåller lösenord till databas o.l. bör inte vara läsbara för andra, eftersom detta kan utnyttjas till att modifiera din data. I Unix shell ordnar du detta med kommandot chmod o-r configuration.cgi
(talkoden för sådana filer är 640 eller 600).
Motsvarande funksjonalitet finnes for FTP, fjern leserettigheter for "others"/"andre".