Page 1 sur 1
[PHP] Impossible d'enregistrer une modification sous /srv/http
Publié : lun. 22 août 2016, 20:33
par stephan08
Bonjour,
J'ai installé un environnement LAMP sous Archlinux en ayant configuré les droits du dossier /srv/http avec les commandes:
Code : Tout sélectionner
chgrp --recursive http /srv/http
chmod --recursive g+w /srv/http
afin que:
- les fichiers de /srv/http appartiennent au groupe Apache (http)
- les droits d'écriture soient activés pour les fichiers de /srv/http
La commande suivante me permet de vérifier si tout est ok.
Résultat:
Code : Tout sélectionner
d-wx-wx--x 5 root http 4096 Aug 20 19:44 .
drwxr-xr-x 4 root root 4096 Sep 30 2015 ..
drwxrwxr-x 2 root http 4096 Jun 12 14:41 Booklist
drwxrwxr-x 2 root http 4096 Apr 18 00:06 Dactylo
drwxrwxr-x 7 root http 4096 Apr 3 11:52 symfony_demo
-rwxrwxr-x 1 root http 23 Apr 11 20:39 test.php
Par contre, un problème se pose. Lorsque j'édite un fichier sous /srv/http, j'arrive à le lire mais dès que je le modifie et que je le sauvegarde, je tombe sur l'erreur suivante sous vim:
E45: 'readonly' option is set (add ! to override)
Pourtant, j'appartiens bien au groupe http et le groupe a bien les droits d'écriture sur /srv/http.
En regardant les droits du fichier que je voudrais modifier:
j'obtiens:
Code : Tout sélectionner
-rwxrwxr-x 1 root http 789 Apr 16 23:54 /srv/http/Dactylo/inscription.php
Pouvez vous m'orienter afin de résoudre ce problème?
Je vous remercie par avance
Re: [PHP] Impossible d'enregistrer une modification sous /srv/http
Publié : lun. 22 août 2016, 20:54
par benjarobin
Es tu sûr d'être dans le group http ? Quelle est la sortie de : id
Re: [PHP] Impossible d'enregistrer une modification sous /srv/http
Publié : lun. 22 août 2016, 23:30
par stephan08
Oui, je suis bien dans le groupe http.
La sortie de id me donne:
Code : Tout sélectionner
uid=1000(stephan) gid=100(users) groups=100(users),33(http),92(audio)
Re: [PHP] Impossible d'enregistrer une modification sous /srv/http
Publié : mar. 23 août 2016, 08:12
par benjarobin
Si je passe de côté le fait qu'appartenir au groupe http est une mauvaise idée et encore plus de rendre les modifications possibles pour ce groupe... Cela veut dire que le serveur web peut les modifier, et c'est bien la dernière chose que l'on veut.
Pour revenir à ton problème, je ne comprends pas, ce n'est pas logique, si tu as bien le droit de créer un fichier dans ce dossier alors l'édition devrait être possible...
Re: [PHP] Impossible d'enregistrer une modification sous /srv/http
Publié : mar. 23 août 2016, 10:25
par oktoberfest
Le problème n'est-il pas là ? Un petit
pour donner le droit de lecture dans /srv/http ?
Re: [PHP] Impossible d'enregistrer une modification sous /srv/http
Publié : mar. 23 août 2016, 10:56
par benjarobin
Si je ne dis pas de bêtise, non il n'est pas là car il arrive à lire le fichier. En effet tu n'as pas besoin des droits de lecture sur un dossier pour lire un fichier ou accéder à une sous arborescence, tu en as juste besoin pour lister le contenu du dossier
Re: [PHP] Impossible d'enregistrer une modification sous /srv/http
Publié : mar. 23 août 2016, 15:49
par stephan08
Bonjour,
@oktoberfest:
oktoberfest a écrit :
Le problème n'est-il pas là ? Un petit
pour donner le droit de lecture dans /srv/http ?
J'ai fait ce que tu m'as demandé et maintenant cela fonctionne.
Pourrais je savoir pourquoi on a besoin des droits de lecture pour le dossier http afin de pouvoir sauvegarder un fichier se trouvant à l'intérieur?
En tout cas, je te remercie oktoberfest.
@benjarobin:
benjarobin a écrit :Si je passe de côté le fait qu'appartenir au groupe http est une mauvaise idée et encore plus de rendre les modifications possibles pour ce groupe... Cela veut dire que le serveur web peut les modifier, et c'est bien la dernière chose que l'on veut.
Je me suis appuyé sur ce lien afin de configurer mon environnement LAMP:
https://bbs.archlinux.org/viewtopic.php?id=135792
En effet, il s'agit d'un moyen afin d'éditer les fichiers qui se trouvent dans /srv/http sans être obligatoirement root.
benjarobin, si le serveur web ne doit pas avoir les droits de modifier ce qui se trouve dans /srv/http, comment dois je m'y prendre?
Si tu as une autre solution, je suis preneur.
Re: [PHP] Impossible d'enregistrer une modification sous /srv/http
Publié : mar. 23 août 2016, 20:05
par benjarobin
Il suffit de mettre ton groupe ou users au lieu de http...
Sinon pour revenir au problème je ne comprends pas, je ferais des tests...
Re: [PHP] Impossible d'enregistrer une modification sous /srv/http
Publié : jeu. 25 août 2016, 09:41
par stephan08
Ok, je te remercie benjarobin.
Re: [PHP] Impossible d'enregistrer une modification sous /srv/http
Publié : jeu. 25 août 2016, 20:14
par benjarobin
Bon après test je n'ai strictement aucun souci avec une telle arborescence... Vraiment j'ai l'impression de louper un truc ou d'avoir des informations erronées
Code : Tout sélectionner
root /tmp # ls -laR http
http:
total 0
d-wx-wx--x 3 root http 60 25 août 20:08 .
drwxrwxrwt 14 root root 340 25 août 20:09 ..
drwxrwxr-x 2 root http 60 25 août 20:08 Dactylo
http/Dactylo:
total 4,0K
drwxrwxr-x 2 root http 60 25 août 20:08 .
d-wx-wx--x 3 root http 60 25 août 20:08 ..
-rwxrwxr-x 1 root http 5 25 août 20:12 inscription.php
J'ai bien fait mon test avec user
Re: [PHP] Impossible d'enregistrer une modification sous /srv/http
Publié : lun. 29 août 2016, 11:42
par Aconitt
Faire un :
Code : Tout sélectionner
sudo chown -R root:http /srv/http
sudo chmod -R 770 /srv/http
N'aiderait pas ?
Je ne connais pas encore très bien la chose mais personnellement, j'ai toujours réglé mes problèmes de droits de la sorte (bien que je ne vois pas une grosse différence avec ce que tu as déjà pu faire).
Vérifie aussi que tu as bien le groupe http: (je pense que tu l'as déjà fait)
EDIT : je ne savais pas que donner les pleins pouvoirs au groupe http était mauvais => remplacer par 750 ?