Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/09/2011, 11h26   #1
Invité de passage
 
Homme
Formateur en informatique
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Enseignement

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
Par défaut PHP user/group Safe Mode

Bonjour,

Je souhaite crééer des dossiers par un script php avec la fonction mkdir ; les dossiers sont bien créés mais pas avec les bons droits (dans File Zilla, Permissions fle(0755) au lieu de flcdmpe (0777);

mon hébergeur me répond :

> > Cher Client,
> >
> > le script est exécutée par Apache, les dossiers créés utilisent donc le
> > user / group Apache, vous ne pouvez pas les modifier.
> >
> > Pouvez-vous modifier votre script pour créer les répertoires avec le
> > user / group : monUser / psaserv
>

Quelqu'un sait-il comment changer le user/group en php ? Je ne trouve nulle part la réponse, ni dans les forums ni dans la littérature.
Le problème à l'origine semble être le Safe Mode.

Merci par avance,

jacob11
jacob11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 11h35   #2
Membre régulier
 
Homme Thomas DUTRION
Développeur Web
Inscription : février 2009
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Thomas DUTRION
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2009
Messages : 58
Points : 93
Points : 93
Bonjour,

As-tu essayé d'utiliser chown après le mkdir ?
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII)
Théocrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 12h06   #3
Invité de passage
 
Homme
Formateur en informatique
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Enseignement

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
Par défaut chown

Bonjour,

Merci pour ta réponse.
Oui j'ai essayé chown sans succès mais je ne suis pas sûr de la syntaxe.
J'ai écrit :

chown($chemin, "monUser");

Je n'ai pas trouvé d'informations sur le user/group avec chown (mon hébergeur me dit :
> > Pouvez-vous modifier votre script pour créer les répertoires avec le
> > user / group : monUser / psaserv

Avec chown je ne modifie que user (enfin je crois ?) et pas group.
Cordialement,

jacob11
jacob11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 12h21   #4
Membre régulier
 
Homme Thomas DUTRION
Développeur Web
Inscription : février 2009
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Thomas DUTRION
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2009
Messages : 58
Points : 93
Points : 93
Pour changer le groupe tu as chgrp.

Après, que ce soit pour chmod ou chgrp, tu as la note suivante dans la doc :
Citation:
Note: Lorsque le safe-mode est activé, PHP vérifie si le fichier/dossier que vous allez utiliser a le même UID que le script qui est actuellement exécuté.
Dans ton .htaccess à la racine de ton projet, tu peux essayer de mettre :
Code :
SetEnv REGISTER_GLOBALS 0
ou
Code :
php_flag register_global off
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII)
Théocrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 14h01   #5
Invité de passage
 
Homme
Formateur en informatique
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Enseignement

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
Par défaut php Safe Mode User/Group

A Théocrite

Bonjour,

Merci pour votre réponse.
J'ai modifié .htaccess comme vous l'indiquez sans résultat.

J'ai essayé chgrp sans résultat :

Code :
1
2
3
 $creerDossier=mkdir($chemin, 0755, TRUE);
  chgrp($chemin, 'monGroupe');
  chmod(0777, $chemin);
donne :
Citation:
Warning: chmod() [function.chmod]: Unable to access 511 in ...
jacob11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 14h05   #6
Membre régulier
 
Homme Thomas DUTRION
Développeur Web
Inscription : février 2009
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Thomas DUTRION
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2009
Messages : 58
Points : 93
Points : 93
Faudrait faire tes tests avec des valeurs fixes.

Apparemment, il arrive pas à trouver le fichier sur lequel tu veux faire ton chmod...
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII)
Théocrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 14h20   #7
Invité de passage
 
Homme
Formateur en informatique
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Enseignement

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
D'accord je vais essayer.
Mais je viens de voir que les fonctions utilisées sont désactivées par le Safe Mode (chown, chgroup...) :
http://fr.php.net/manual/fr/features....functions.php
Merci encore.
jacob11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 14h27   #8
Membre régulier
 
Homme Thomas DUTRION
Développeur Web
Inscription : février 2009
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Thomas DUTRION
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2009
Messages : 58
Points : 93
Points : 93
C'est ce qui était dis dans la note que je citais plus haut, et c'est pour ça que je t'avais donné deux lignes pour essayer de désactiver le safe mode... Qui ne semblent pas marcher.

Pour fonctionner, il faut que la directive AllowOverride soit paramétrée correctement dans le virtualhost (all).
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII)
Théocrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 15h28   #9
Invité de passage
 
Homme
Formateur en informatique
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Enseignement

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
A Théocrite

Je viens de recevoir uen réponse de mon hébergeur qui me dit qu'il désactive le safe mode pour mon compte...
Je ne sais pas si ça réglera le pb car je viens d'essayer sans succès (peut-être y a-t-il un délai ?)
En tout cas j'ai découvert que par le plesk de l'hébergeur je pouvais accéder à mon arborescence ! et là je ovis que chgr a bien fonctionné puisque les dossiers créés avec cette cde ont le bon groupe à la place d'Apache. Mais toujours pas les droits de modification !

> il faut que la directive AllowOverride soit paramétrée correctement dans le virtualhost (all).

Là je ne sais pas faire...
Mais comme le pb vient de l'hébergeur, je ne pense pas avoir accès à son virutalhost(all) ?

Bon pour aujourd'hui je dois quitter !

Merci encore
jacob11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2011, 15h33   #10
Membre régulier
 
Homme Thomas DUTRION
Développeur Web
Inscription : février 2009
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Thomas DUTRION
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2009
Messages : 58
Points : 93
Points : 93
En effet, c'est l'hébergeur qui doit avoir accès à la configuration de votre virtualhost et pas vous.

Si le chown a marché, c'est que le safe mod est désactivé je dirais. Pour vérifier, utilise phpinfo.

Sinon, pour les permissions il s'agit vraiment d'utiliser chmod...
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII)
Théocrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 12h29   #11
Invité de passage
 
Homme
Formateur en informatique
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Enseignement

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
Bonjour,
Maintenant la création des sous dossiers et l'insertion de fichiers marchent très bien.

En regardant dans le plesk, je me suis rendu compte qu'en fait le code php semble bien fonctionner puisque les dossiers sont bien créés avec le groupe $groupe.
Finalement chmod fonctionne aussi pour changer les droits : j'avais tout simplement inversé les apramètres ! : chmod(0777, $chemin) au lieu de chmod($chemin, 0777).
Mais chown ne marche pas pour changer le user qui est toujours apache.
J'ai bien accès par FZ en lecture/écriture, même si user est toujours apache.

Le code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
$ftp_server="monsServeur";
$conn_id = ftp_connect($ftp_server) or die("Impossible de se connecter au serveur $ftp_server");
$creerDossier=mkdir($chemin, 0777, TRUE);
//chown "Change le propriétairedu fichier" Cette instruction ne fonctionne pas
chown($chemin, $user);
// chgrp fonctionne
chgrp($chemin, $groupe);
// Même avec ftp_connect, chmod est nécessaire. Et même avec 0777 pour mkdir
chmod($chemin, 0777);
// exec ne semble pas donner de résultat (user toujours apache)
exec("chown -r $user.$group $chemin");
ftp_close($conn_id);
Voilà, ça va beaucoup mieux puisque je peux maintenant tout faire ! Il reste qu'il n'est pas clair pourquoi chown ne marche pas (Warning: chown() [function.chown]: Operation not permitted in /var/www/vhosts/eriam.eu/httpdocs/............ on line 51)

Merci pour l'aide !
jacob11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 14h22   #12
Membre régulier
 
Homme Thomas DUTRION
Développeur Web
Inscription : février 2009
Messages : 58
Détails du profil
Informations personnelles :
Nom : Homme Thomas DUTRION
Âge : 23
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2009
Messages : 58
Points : 93
Points : 93
Je serais tenté de penser que l'utilisateur Apache n'a pas le droit d'utiliser chown sur le serveur...
__________________
Recherche poste de développeur web PHP/Zend Framework sur Lille (hors SSII)
Théocrite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 12h05   #13
Invité de passage
 
Homme
Formateur en informatique
Inscription : septembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Enseignement

Informations forums :
Inscription : septembre 2011
Messages : 7
Points : 1
Points : 1
Par défaut droits apache sur chown

A Théocrite
Ceci explique cela... C'est bien possible en effet. Mais je cherche toujours... Y a-t-il une autre commande qui permettrait ce changement de propriétaire ?

P.S. Théocrite, n'est-ce pas ce philosophe grec qui aurait dit "L'homme, en devenant père, devient le fils de lui-même" ?
jacob11 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h04.


 
 
 
 
Partenaires

Hébergement Web