Attribuer les permissions adéquates aux fichiers constituant vos sites web est très important d'un point de vue sécurité. Il n'y a cependant pas de règles générales, car cela dépend des besoins de l'application hébergée et des vôtres. Voici cependant quelques exemples :
Les fichiers du site devraient appartenir au serveur http :
# chown -R www:daemon /var/www/htdocs/mon_site
Dans le cas d'un site statique (sans PHP), il est inutile de laisser les droits
d'exécution (-x
). De même, s'il est statique, il n'y aura pas besoin d'écrire
dedans (-w
). On ajoute quand même le droit de se déplacer dans les
répertoires (+X
).
# chmod -R a-xw /var/www/htdocs/mon_site # chmod -R ug+X /var/www/htdocs/mon_site
On commence par retirer les droits non-souhaités à tout le monde avant d'en donner au propriétaire et au groupe.
Pour un site dynamique, le serveur aura peut-être besoin d'écrire dans les dossiers et d'en exécuter une partie.
# chmod -R a-xw /var/www/htdocs/mon_site # chmod -R u+xwX /var/www/htdocs/mon_site # chmod -R g+rX /var/www/htdocs/mon_site
Là aussi, on commence par retirer tous les droits avant d'en donner au cas par cas.
ATTENTION : il sera certainement judicieux de modifier les permissions plus finement. Dans tous les cas, la meilleure pratique est de se poser la question concernant les droits.
À titre informatif, la plupart des hébergeurs appliquent uniquement les permissions suivantes :
Tout ceci peut se faire en quelques lignes :
### retrait des permissions : # chmod -R a-rwx /var/www/htdocs/site ### tout le monde peut lire les dossiers : # chmod -R a+rX /var/www/htdocs ### seul le proprietaire peut ecrire : # chmod -R u+w /var/www/htdocs
On retire d'abord l'ensemble des permissions. Ensuite, on donne accès en lecture
aux dossiers et fichiers. Attention, à cette étape, il s'agit d'un X
majuscule. Enfin, on accorde au propriétaire les droits d'écriture dans les
dossiers et fichiers.