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 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.


Page suivante →