Bestandsrechten (Drupal): verschil tussen versies
Naar navigatie springen
Naar zoeken springen
(12 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 1: | Regel 1: | ||
+ | [[file:20160111-1556.png|thumb|Map ''sites/all/translations'' moet beschrijfbaar zijn door derden. Anders krijg je deze foutmelding]] | ||
+ | |||
Het is belangrijk om te weten hoe rechten rondom bestanden en mappen in een Drupal-installatie ingesteld moeten zijn. Dat kan veel frustratie schelen. | 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 | + | * 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 <code>cd</code> niet | * Mappen moeten altijd executeerbaar zijn, anders werkt commando <code>cd</code> niet | ||
− | == | + | == Locaties systeemmappen == |
+ | |||
+ | Drupal 7 - en waarschijnlijk ook Drupal 8: | ||
+ | |||
+ | * Public file system path: <code>sites/default/files</code> | ||
+ | * Private file system path: <code>sites/default/files_private</code> | ||
+ | * Temporary directory: <code>/tmp</code> | ||
+ | * Ctools CSS Cache ''ctools/css'': <code>sites/default/files/ctools/css</code> | ||
+ | * Vertalingen: <code>sites/all/translations</code> | ||
− | + | == Map files == | |
* Mappen moeten altijd beschrijfbaar en executeerbaar zijn | * Mappen moeten altijd beschrijfbaar en executeerbaar zijn | ||
− | * Bestanden moeten | + | * Bestanden moeten beschrijfbaar zijn |
+ | * Bestanden hoeven waarschijnlijk niet executeerbaar zijn | ||
Wat in ieder geval werkt: | Wat in ieder geval werkt: | ||
Regel 15: | Regel 26: | ||
sudo chmod -R 707 /home/.../files | sudo chmod -R 707 /home/.../files | ||
− | === | + | Maar waarschijnlijk beter: |
+ | |||
+ | <pre> | ||
+ | sudo chmod -R 707 $(find $wortel/sites/default/files -type d) | ||
+ | sudo chmod -R 606 $(find $wortel/sites/default/files -type f) | ||
+ | </pre> | ||
+ | |||
+ | == Map modules == | ||
+ | |||
+ | De mappen <code>sites/all/modules</code> en <code>sites/default/modules</code> hoeven niet beschijfbaar te zijn voor derden. In dat geval moet <code>drush</code> als beheerder worden uitgevoerd, en da's een prima keuze | ||
+ | |||
+ | == Map tmp == | ||
+ | |||
+ | Zie [[Tmp-map (Drupal)]] | ||
+ | |||
+ | == Zie ook == | ||
+ | |||
+ | * [[Tmp-map (Drupal)]] | ||
+ | |||
+ | == Bronnen == | ||
− | + | * https://www.drupal.org/node/447064 - Verwachte locatie ctools/css. De foutmelding zegt namelijk niet waar je moet zijn | |
− | == Appendix: | + | == Appendix: Rechten automatisch bijwerken == |
− | Er zitten nog wat | + | Er zitten nog wat tekortkomingen in dit script, maar het werkt niet onaardig: |
<pre> | <pre> | ||
− | # | + | #################################################################### |
− | # | + | # 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/.* | |
− | eigenaar | ||
− | ########################### | + | # 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 |
− | # | + | # |
− | chmod | + | # 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 |
− | # Other | + | # * 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) | |
− | |||
− | |||
− | |||
− | chmod | ||
− | ######################### | + | # Map 'sites/all/translations' |
− | + | ###################################################################### | |
− | ################################################# | + | # |
− | # | + | # Hier plaatst Drupal gedownloade vertalingen |
− | # | + | # |
− | # | + | # * Mappen - Other: Lezen, schrijven, executeren → 707 |
− | chmod 707 $(find $ | + | # * 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 | |
− | chmod | + | sudo chmod -R 705 /home/$eigenaar/.drush |
</pre> | </pre> |
Huidige versie van 16 aug 2018 om 19:42
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