Verkeerde file permissions zijn een veelvoorkomende oorzaak van 500-errors, beveiligingslekken en niet-werkende uploads. Voor de meeste websites geldt een simpele vuistregel: mappen krijgen permissie 755 en bestanden 644, terwijl configuratiebestanden met gevoelige data vaak strenger mogen. In dit artikel lees je wat permissions precies betekenen, welke waarden je waar gebruikt en hoe je ze via SSH of Plesk aanpast.
Wat zijn file permissions
Op Linux heeft elk bestand en elke map drie typen rechten: lezen (r), schrijven (w) en uitvoeren (x). Deze rechten gelden apart voor de eigenaar, de groep en overige gebruikers. De combinatie wordt meestal weergegeven als een driecijferig getal, bijvoorbeeld 755 of 644. Elk cijfer is de som van read (4), write (2) en execute (1) voor respectievelijk eigenaar, groep en overige.
Zo betekent 755 dat de eigenaar alles mag (7 = 4+2+1), terwijl groep en overige alleen mogen lezen en uitvoeren (5 = 4+1). Voor mappen is execute-rechten nodig om erin te kunnen navigeren, voor bestanden bepaalt het of een script uitgevoerd mag worden.
Juiste waarden per bestandstype
Niet elk bestand heeft dezelfde rechten nodig. Een goede basisindeling:
- Mappen: 755 (eigenaar mag alles, anderen mogen lezen en openen)
- Gewone bestanden zoals HTML, CSS en afbeeldingen: 644
- PHP-scripts: meestal 644, soms 755 als het script zelf uitvoerbaar moet zijn
- Configuratiebestanden met wachtwoorden of database-gegevens: 600, zodat alleen de eigenaar kan lezen en schrijven
- Uploadmappen die door CMS-systemen beschreven moeten worden: soms 775, maar liever niet ruimer dan nodig
Vermijd 777 op bestanden of mappen. Dat geeft iedereen op het systeem schrijfrechten en is een groot beveiligingsrisico, ook als het een snelle oplossing lijkt voor een foutmelding.
Permissions aanpassen met chmod en chown
Via SSH pas je permissies aan met het commando chmod, en de eigenaar met chown. Een paar praktische voorbeelden:
Verbind via SSH
Log in op je server met SSH en navigeer naar de map van je website, bijvoorbeeld met cd httpdocs.
Zet mappen op 755
Gebruik het commando find . -type d -exec chmod 755 {} ; om recursief alle mappen op 755 te zetten.
Zet bestanden op 644
Gebruik find . -type f -exec chmod 644 {} ; om alle bestanden op 644 te zetten.
Controleer eigenaar en groep
Met chown gebruikersnaam:groep bestandsnaam zet je de juiste eigenaar, zodat je hostingaccount en de webserver elkaar niet in de weg zitten.
Gebruik Plesk als alternatief
Heb je liever geen SSH-commando’s, dan kun je in Plesk via de bestandsbeheerder rechtsklikken op een bestand of map en kiezen voor permissies wijzigen. Dit is terug te vinden in het Plesk-controlepaneel dat bij webhosting bij Tandata standaard beschikbaar is.
Veelgemaakte fouten en beveiliging
De meest voorkomende fout is het overal toepassen van 777 omdat een plugin of upload niet werkt. Dit lost het probleem tijdelijk op maar maakt de site kwetsbaar voor misbruik, omdat kwaadwillenden dan ook bestanden kunnen overschrijven. Controleer in plaats daarvan eerst of de eigenaar van het bestand klopt.
Een andere veelgemaakte fout is het per ongeluk toepassen van bestandspermissies op mappen of andersom via een verkeerd find-commando, waardoor mappen niet meer toegankelijk zijn (execute-bit ontbreekt) of scripts niet meer uitgevoerd kunnen worden.
Let ook op bij e-mailconfiguratie en credentials: bestanden met wachtwoorden, API-sleutels of database-instellingen horen niet leesbaar te zijn voor andere gebruikers op het systeem. Dit is net zo belangrijk als een correcte DNS- en SPF-instelling bij zakelijke e-mail, waar e-mail hosting bij Tandata rekening mee houdt voor een goede beveiligingsscore.
Loop je vast of twijfel je over de juiste instellingen voor jouw CMS, dan kun je in de kennisbank verder zoeken of via WhatsApp, ticket of e-mail contact opnemen met support, ook ‘s nachts.
Veelgestelde vragen
Wat is het verschil tussen chmod 644 en 755?
644 geeft de eigenaar lees- en schrijfrechten en anderen alleen leesrechten, zonder uitvoerrechten. 755 geeft de eigenaar volledige rechten en anderen lees- en uitvoerrechten, wat nodig is om mappen te kunnen openen.
Waarom werkt mijn upload-functie niet ondanks juiste permissies?
Vaak ligt dit aan de eigenaar van de map in plaats van de permissie zelf. Controleer met ls -la of de map toebehoort aan het juiste gebruikersaccount, en pas dit aan met chown.
Is 777 ooit een goede oplossing?
Nee, 777 geeft iedereen op het systeem volledige rechten en is vrijwel nooit nodig. Gebruik in plaats daarvan 755 of 775 en controleer de eigenaar van het bestand.
Kan ik permissies ook zonder SSH aanpassen?
Ja, via de bestandsbeheerder in Plesk kun je per bestand of map de permissies instellen zonder command line.
Moet ik permissies aanpassen na het overstappen naar een nieuwe hostingpartij?
Soms wel, omdat eigenaarschap van bestanden kan wijzigen bij migratie. Bij overstappen naar Tandata wordt dit meegenomen in de overdracht, maar het is altijd verstandig dit na migratie te controleren.
Conclusie
Correcte file permissions zijn essentieel voor een veilige en stabiele website. Houd 755 aan voor mappen, 644 voor bestanden en strengere waarden zoals 600 voor configuratiebestanden met gevoelige data. Vermijd 777 en controleer bij problemen eerst de eigenaar van het bestand voordat je permissies aanpast.