Permissions pour devweb

De VK Wiki
Aller à : navigation, rechercher

Avec les sites sous Wordpress, nous sommes souvent confrontés à un problème de droits.


En effet, pour fonctionner, Wordpress et son utilisateur (www-data) doit avoir tous les droits sur ses répertoires et fichiers. De notre côté, lorsque nous nous connectons à un serveur par SFTP, nous le faisons avec l'utilisateur Devweb qui donc n'est pas l'utilisateur www-data, et n'a aucun droit sur les répertoires de Wordpress.


Pour palier ce problème de droit sans créer de risques pour la sécurité (en ouvrant tous les droits à tout le monde par exemple), il est possible d'ajouter l'utilisateur devweb au groupe www-data, et d'attribuer au groupe les droits de lecture-écriture sur les répertoires utilisés par Wordpress.


en environnement su, exécuter les commandes suivantes :


usermod -a -G www-data devweb ; cette instruction inscrit l'utilisateur devweb au groupe www-data

chgrp -R www-data /home/www ; cette instruction attribue le répertoire /home/www et son contenu (-R = récursif) au groupe www-data (chgrp = change group)

chmod -R g+w /home/www ; cette instruction donne les droits en écriture à tous les fichiers et répertoires contenus dans /home/www


Il reste un détail à régler : en l'état actuel des choses, chaque fichier créé par l'utilisateur devweb (par exemple lorsque l'on charge un nouveau thème wordpress modifié) est la propriété de l'utilisateur devweb et du groupe devweb. Wordpress n'y aura pas accès. Il faut donc dire au système que dorénavant, chaque nouveau fichier créé appartiendra au groupe www-data quel qu'en soit le créateur :


find /home/www -type d -exec chmod 2775 {} \;

et sera accessible en lecture et en écriture par défaut à l'utilisateur propriétaire et au groupe propriétaire du fichier

find /home/www -type f -exec chmod ug+rw {} \;