Bestandsrechten (Drupal): verschil tussen versies
Naar navigatie springen
Naar zoeken springen
Map
Map
Regel 1: | Regel 1: | ||
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 | ||
− | + | == Map <code>files</code> == | |
− | |||
− | |||
* Mappen moeten altijd beschrijfbaar en executeerbaar zijn | * Mappen moeten altijd beschrijfbaar en executeerbaar zijn | ||
− | * Bestanden moeten beschrijfbaar zijn | + | * Bestanden moeten beschrijfbaar zijn |
+ | * Bestanden hoeven waarschijnlijk niet executeerbaar zijn | ||
Wat in ieder geval werkt: | Wat in ieder geval werkt: | ||
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 <code>modules</code> === | === Map <code>modules</code> === |
Versie van 11 jan 2016 16:25
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
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 moeten beschijfbaar zijn voor derden ivm. installatie/onderhoud modules middels drush
.
Appendix: Script
Er zitten nog wat fouten in, maar werkt verder niet onaardig:
#!/bin/sh # # Configureer bestandskenmerken van een Drupal-installatie # # Aanpak: # 1. Begin met standaard-instellingen # 2. Verfijn ################################################# # Variabelen ################################################# # # Gebruik geen ~, want fouten bij gebruik 'sudo' # map="/home/account/public/example.com/public" eigenaar="debaas" ################################################# # Configureer eigenaar. Soms is dat namelijk root ################################################# # chown -R $eigenaar $map/* chgrp -R $eigenaar $map/* ################################################# # Algemeen - Mappen ################################################# # # Eigennaar mag alles (7) # Group mag nix (0) # Other: r-x (5) # chmod 705 $(find $map -type d) ################################################# # Algemeen - Bestanden ################################################# # # Eigennaar mag alles maar hoeft niet te kunnen executeren (6) # Group mag nix (0) # Other mag alleen lezen r-- (4) # 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 # chmod 604 $(find $map -type f) ################################################# # Map 'files' ################################################# # # 'Other' krijgt schrijftoegang op map-niveau # chmod 707 $(find $map/sites/default/files -type d) ################################################# # sites/all/modules & sites/default/modules ################################################# # # 'Other' krijgt schrijftoegang op map-niveau # chmod 707 $(find $map/sites/alles/modules -type d) chmod 707 $(find $map/sites/default/modues -type d)