Bestandsrechten (Drupal)
Naar navigatie springen
Naar zoeken springen
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