Bestandsrechten (Drupal)
Naar navigatie springen
Naar zoeken springen
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Het is belangrijk om te weten hoe rechten rondom bestanden en mappen in een Drupal-installatie ingesteld moeten zijn. Dat kan veel frustratie schelen.
- Doorgaans zal de webserver onder een ander account draaien dan 'ik' of de beheerder. Daardoor valt het in de categorie overig. Bij het instellen van rechten, heb je drie entiteiten: Eigenaar, Groep en Overig/Other. Het gaat in dit hoofdstuk alleen om deze laatste entiteit.
- Mappen moeten altijd executeerbaar zijn, anders werkt commando
cd
niet
Locaties systeemmappen
Drupal 7 - en waarschijnlijk ook Drupal 8:
- Public file system path:
sites/default/files
- Private file system path:
sites/default/files_private
- Temporary directory:
/tmp
- Ctools CSS Cache ctools/css:
sites/default/files/ctools/css
- Vertalingen:
sites/all/translations
Map files
- Mappen moeten altijd beschrijfbaar en executeerbaar zijn
- Bestanden moeten beschrijfbaar zijn
- Bestanden hoeven waarschijnlijk niet executeerbaar zijn
Wat in ieder geval werkt:
sudo chmod -R 707 /home/.../files
Maar waarschijnlijk beter:
sudo chmod -R 707 $(find $wortel/sites/default/files -type d) sudo chmod -R 606 $(find $wortel/sites/default/files -type f)
Map modules
De mappen sites/all/modules
en sites/default/modules
hoeven niet beschijfbaar te zijn voor derden. In dat geval moet drush
als beheerder worden uitgevoerd, en da's een prima keuze
Map tmp
Zie Tmp-map (Drupal)
Zie ook
Bronnen
- https://www.drupal.org/node/447064 - Verwachte locatie ctools/css. De foutmelding zegt namelijk niet waar je moet zijn
Appendix: Rechten automatisch bijwerken
Er zitten nog wat tekortkomingen in dit script, maar het werkt niet onaardig:
#################################################################### # Bestandsrechten fixen #################################################################### # # Dit script is geschikt voor Drupal 7 & 8 # # Drupal 8: Er moet iets gefixet worden na 'drush si', want het theme # komt niet uit de verf, en af en toe verschijnt er een foutmelding # zoals: # # The specified file temporary://fileFZanvi could not be copied because # the destination directory is not properly configured. This may be # caused by a problem with file or directory permissions. More # information is available in the system log. # Eigenaar bijwerken ###################################################################### # sudo chown -R $eigenaar $wortel/* sudo chgrp -R $eigenaar $wortel/* sudo chown -R $eigenaar $wortel/.* sudo chgrp -R $eigenaar $wortel/.* # Mappen (algemeen) ###################################################################### # 'Other' moeten mappen kunnen executeren, anders werkt 'cd' niet # # * Eigenaar: mag alles (7) # * Group: mag nix # * Other: Lezen & executeren (x-x - 5) # sudo chmod -R 705 $(find $wortel -type d) # Bestanden (algemeen) ###################################################################### # * Eigenaar: Lezen & schrijven. Uitvoeren niet nodig # * Groep: Mag niets # * Other: Lezen. Niet schrijven of uitvoeren want veiligheidsprobleem # # Dit geldt ook voor .htaccess # # Dit geeft foutmeldingen, omdat chmod niet overweg kan met spaties: # Die belanden op een aparte regel. # Moet ik escapen op een of andere manier # sudo chmod -R 604 $(find $wortel -type f) # Map 'files' ###################################################################### # # Drupal/webserver gebruikt deze map om bestanden te plaatsen # # * Mappen - Other: Lezen, schrijven, executeren → 707 # * Bestanden - Other: Lezen, schrijven → 606 # sudo chmod -R 707 $(find $wortel/sites/default/files -type d) sudo chmod -R 606 $(find $wortel/sites/default/files -type f) # Map 'sites/all/translations' ###################################################################### # # Hier plaatst Drupal gedownloade vertalingen # # * Mappen - Other: Lezen, schrijven, executeren → 707 # * Bestanden - Other: Lezen, schrijven → 606 # sudo chmod -R 707 $(find $wortel/sites/all/translations -type d) sudo chmod -R 606 $(find $wortel/sites/all/translations -type f) # .drush-map fixen ###################################################################### # Om de haverklap wordt deze map niet-schrijfbaar voor Drush, # misschien door gebruik van 'sudo drush'. # sudo chown -R $eigenaar /home/$eigenaar/.drush sudo chgrp -R $eigenaar /home/$eigenaar/.drush sudo chmod -R 705 /home/$eigenaar/.drush