[PHP] Impossible d'enregistrer une modification sous /srv/http

Applications, problèmes de configuration réseau
Répondre
stephan08
Daikyu
Messages : 93
Inscription : jeu. 19 nov. 2015, 23:18

[PHP] Impossible d'enregistrer une modification sous /srv/http

Message 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:
  1. les fichiers de /srv/http appartiennent au groupe Apache (http)
  2. 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.

Code : Tout sélectionner

ls -al /srv/http 
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:

Code : Tout sélectionner

ls -l /srv/http/Dactylo/inscription.php
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
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17618
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [PHP] Impossible d'enregistrer une modification sous /srv/http

Message par benjarobin »

Es tu sûr d'être dans le group http ? Quelle est la sortie de : id
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
stephan08
Daikyu
Messages : 93
Inscription : jeu. 19 nov. 2015, 23:18

Re: [PHP] Impossible d'enregistrer une modification sous /srv/http

Message 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)
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17618
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [PHP] Impossible d'enregistrer une modification sous /srv/http

Message 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...
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [PHP] Impossible d'enregistrer une modification sous /srv/http

Message par oktoberfest »

stephan08 a écrit :

Code : Tout sélectionner

d-wx-wx--x 5 root http 4096 Aug 20 19:44 .
Le problème n'est-il pas là ? Un petit

Code : Tout sélectionner

chmod a+r /srv/http
pour donner le droit de lecture dans /srv/http ?
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17618
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [PHP] Impossible d'enregistrer une modification sous /srv/http

Message 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
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
stephan08
Daikyu
Messages : 93
Inscription : jeu. 19 nov. 2015, 23:18

Re: [PHP] Impossible d'enregistrer une modification sous /srv/http

Message par stephan08 »

Bonjour,

@oktoberfest:
oktoberfest a écrit : Le problème n'est-il pas là ? Un petit

Code : Tout sélectionner

chmod a+r /srv/http
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.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17618
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [PHP] Impossible d'enregistrer une modification sous /srv/http

Message 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...
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
stephan08
Daikyu
Messages : 93
Inscription : jeu. 19 nov. 2015, 23:18

Re: [PHP] Impossible d'enregistrer une modification sous /srv/http

Message par stephan08 »

Ok, je te remercie benjarobin.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17618
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [PHP] Impossible d'enregistrer une modification sous /srv/http

Message 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
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Aconitt
Hankyu
Messages : 15
Inscription : sam. 25 juin 2016, 22:17

Re: [PHP] Impossible d'enregistrer une modification sous /srv/http

Message 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)

Code : Tout sélectionner

groups <ton_utilisateur> | grep http
EDIT : je ne savais pas que donner les pleins pouvoirs au groupe http était mauvais => remplacer par 750 ?
Archlinux Plasma - Dual boot Win7

Boitier : Corsair Obsdian 750D
CM : ASUS Maximus HERO VI
CPU : Intel i7 4770k @ 3,5 GHz
RAM : 16 Go DDR3 @ 1600 MHz
GPU : SLI Nvidia GTX 760 4Go DDR5
SSD : Samsung 840 EVO 500 Go
HDD : WD Blue Desktop 1To 64Mo @ 7200 RPM
Alim : Corsair CS750M
Refroidissement : Entièrement refroidit par un watercooling maison
Répondre