Quelles permissions donner aux fichiers de mon site ?
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 quelques exemples :
Les fichiers du site devraient appartenir au serveur http (ou sinon être en lecture seule) :
# 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 (sans prétendre que ce soit la meilleure solution) :
- Pour les répertoires : lecture et écriture pour le propriétaire et seulement lecture pour les autres. (755)
- Pour un fichier, seul le propriétaire a le droit d'écrire dedans, les autres peuvent seulement le lire. (644)
Tout ceci peut se faire en quelques lignes :
# chmod -R a-rwx /var/www/htdocs/site # retrait des permissions # chmod -R a+rX /var/www/htdocs # tout le monde peut lire les dossiers # chmod -R u+w /var/www/htdocs # seul le proprietaire peut ecrire
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.