Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Distributions > Ubuntu

Ubuntu Vos questions sur les distributions Ubuntu et dérivées (Kubuntu, Xubuntu... )

Réponse
 
Outils de la discussion
Vieux 12/09/2008, 19h58   #1 (permalink)
Membre Confirmé
 
Avatar de ChPr
 
Date d'inscription: septembre 2005
Localisation: HERBLAY 95
Âge: 63
Messages: 252
Par défaut Droit d'administrateur pour des fonctions en php

Bonjour à toutes et à tous,

Je viens d'installer le serveur Lamp, a priori tout fonctionne correctement.

Mon problème est le suivant : J'ai une application, écrite en php, que je charge dans le répertoire /var/www/MonAppli. Cette application doit écrire et lire des informations dans un fichier de ce répertoire. C'est là où ça bogue, je n'ai pas accès à ce fichier. Je suppose que c'est une question de droit d'administrateur.

NOTA : cette application fonctionne très bien dans un environnement non protégé.

Ma question est la suivante : quelle commande appliquer pour que j'ai des droits d'administrateur pour ce type de fonctions.

Merci de votre aide.

Pierre
ChPr est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 12/09/2008, 20h24   #2 (permalink)
Membre émérite
 
Date d'inscription: septembre 2002
Localisation: Bruxelles
Âge: 30
Messages: 956
Par défaut

Salut,

Peux-tu ouvrir un terminal

et taper la commande

Code :
ls -ld /var/www/MonAppli
ainsi

Code :
ls -l /var/www/MonAppli
Pour voir les permissions
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 12/09/2008, 20h51   #3 (permalink)
Membre Confirmé
 
Avatar de ChPr
 
Date d'inscription: septembre 2005
Localisation: HERBLAY 95
Âge: 63
Messages: 252
Par défaut

Voici les résultats à ces commandes :

Code :
chp@Pc2700:~$ ls -ld /var/www/Photos
drwxr-xr-x 4 root root 4096 2008-09-12 19:17 /var/www/Photos
chp@Pc2700:~$  ls -l /var/www/Photos
total 504
-rw-r--r-- 1 root root  22074 2008-03-25 15:54 Admin.php
drwxr-xr-x 2 root root   4096 2008-09-12 16:38 Aide
-rw-r--r-- 1 root root  27544 2006-01-19 21:15 BteCouls.html
-rw-r--r-- 1 root root   6981 2006-02-07 11:01 CadreH.php
-rw-r--r-- 1 root root   5936 2006-02-16 17:54 CadreV.php
-rw-r--r-- 1 root root  11604 2006-01-21 17:09 Calendrier.html
-rw-r--r-- 1 root root  14496 2008-03-25 15:39 FctUtils.php
-rw-r--r-- 1 root root   2129 2006-02-16 18:18 GestionImg.php
-rw-r--r-- 1 root root 308587 2008-09-12 15:42 GlPhotV14.zip
drwxr-xr-x 2 root root   4096 2008-09-12 16:38 Images
-rw-r--r-- 1 root root    315 2006-01-22 21:30 IMPORTANT_A_LIRE.txt
-rw-r--r-- 1 root root    267 2008-09-12 19:17 indexini.txt
-rw-r--r-- 1 root root    267 2008-09-12 19:14 indexini.txt~
-rw-r--r-- 1 root root   6790 2008-03-25 15:25 index.php
-rw-r--r-- 1 root root   7659 2008-09-12 19:08 Install.php
-rw-r--r-- 1 root root   7659 2008-09-12 19:08 Install.php~
-rw-r--r-- 1 root root  37103 2006-02-17 10:29 ModifGal.php
-rw-r--r-- 1 root root   9516 2006-03-03 09:48 PlContact.php
chp@Pc2700:~$
En fait, si voulez avoir ces fichiers, vous téléchargez le fichier proposé en téléchargement ici.

Merci de votre aide.

Pierre
ChPr est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 12/09/2008, 21h15   #4 (permalink)
Membre émérite
 
Date d'inscription: septembre 2002
Localisation: Bruxelles
Âge: 30
Messages: 956
Par défaut

Ok

Quel est le fichier dans lequel ton application doit écrire? je suppose que c'est celui-ci

Code :
-rw-r--r-- 1 root root    267 2008-09-12 19:17 indexini.txt
Il faut savoir que si tu passes par un serveur apache, il faut avoir avoir le droit d'écriture sur ce fichier pour le groupe "other"

Code :
chmod o+w indexini.txt
et tu devrais avoir les permissions suivantes

Code :
-rw-r--rw- 1 root root    267 2008-09-12 19:17 indexini.txt
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 12/09/2008, 21h39   #5 (permalink)
Membre Confirmé
 
Avatar de ChPr
 
Date d'inscription: septembre 2005
Localisation: HERBLAY 95
Âge: 63
Messages: 252
Par défaut

OK, merci, cela fonctionne. Cependant, comment faire en sorte que ces droits soient établis d'office ?

Si dans le code du fichier "Install.php" je rajoute :

Code :
chmod('indexini.txt', 0646);
j'obtiens un message me disant que cette opération est interdite dans le fichier "Install.php".

Merci de votre aide.

Pierre
ChPr est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 12/09/2008, 22h05   #6 (permalink)
Membre émérite
 
Date d'inscription: septembre 2002
Localisation: Bruxelles
Âge: 30
Messages: 956
Par défaut

Oui c'est normal

car le user utilisé par apache n'est pas "root" et comme tes fichiers ont root comme propriétaire. tu n'as pas les droits de changer les permissions sur ce fichier.

Il faudrait regarder la configuration de ton serveur apache pour savoir quel user est utilisé.

Chez moi (ubuntu 8.04)

j'ai ceci:

Code :
root@vm-ubuntu8:/var/www# cat /etc/apache2/envvars
# envvars - default environment variables for apache2ctl

# Since there is no sane way to get the parsed apache2 config in scripts, some
# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2.pid
__________________
Alea Jacta Test!
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 12/09/2008, 22h20   #7 (permalink)
Membre Confirmé
 
Avatar de ChPr
 
Date d'inscription: septembre 2005
Localisation: HERBLAY 95
Âge: 63
Messages: 252
Par défaut

Je te remercie Mygale1978 pour toutes ces précisions. Cela éclaire bien ma lanterne.

Cependant, pour l'instant, je ne me sens pas assez performant pour effectuer toutes ces opérations. J'ai lu dans la doc qu'il y a un moyen de contournement (qui d'ailleurs est préconisé) en créant un répertoire dans le dossier /home et en y faisant un lien symbolique. C'est ce que je vais faire.

Je te remercie encore.

Pierre
ChPr est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/09/2008, 16h07   #8 (permalink)
Membre émérite
 
Avatar de haltabush
 
Date d'inscription: avril 2005
Localisation: Melbourne, Australie
Âge: 23
Messages: 725
Par défaut

Bonjour,
Même dans le /home, www_data n'aura pas le droit d'accès si le fichier est en 644.
Il vaut mieux faire un <chown www_data tonfichier> je pense
haltabush est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Distributions > Ubuntu



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide