Problème de droits Apache/PHP sur un serveur

Salut,

j ai un serveur sous debian avec dessus apache et php

apache est executé sous l identité www-data : www-data j ai rien changé a ca.

j ai cré un user systeme “mylogin” (groupe mylogin) et ajouté en groupe secondaire www-data

le probleme est que je dois donner a mylogin le droit d executer un script shell qui fait un cp et quelques autres commandes(mysqldump etc…) , ce script doit etre lancé a la demande du client via son interface d admin, pas moyen donc de croniser l affaire.

probleme :

lorsque que l on fait un bete

php(“system cp fichier1 fichier2”) ca fonctionne que dans le cas ou l on mets en 777 le dossier,

je comprends pas trop pourquoi un 775 suffit pas ? vu que mylogin fait partie de www-data ?

quelqu un saurait il comments je pourrais autoriser ca sans chmoder tout un dossier en 777

j ai verifié et quand on appelle system l user utilisé est bien www-data

Merci d avance

j ai reussi avec designant www-data comme groupe primaire de l user,
et ca fonctionne.

Quelqu un sait t il pourquoi declarer www-data en groupe secondaire n etais pas suffisant ?

Salut,

velk lorsque tu fais

id mylogin

tu te vois bien dans le group www-data ?

mylogin@nsxxxxx:~$ id mylogin
uid=1000(mylogin) gid=1000(mylogin) groupes=1000(mylogin),33(www-data)

Bonjour,

A mon avis, dans les opérations de copie, seul le groupe inscrit (par son gid) dans les fichiers et répertoires compte.

La copie lancée par php se fait pour le compte d’apache (www-data:www-data).

La création de fichier2 par la copie nécessite les droits d’écriture de www-data:www-data sur le répertoire qui appartient à mylogin:mylogin, ce qui nécessite effectivement le 3ème “7” (celui du “reste du monde”).

Mais si le répertoire appartient à mylogin:www-data, le 2ème “7” est suffisant.

Tyrtamos

Les Acl peut être alors comme solution
lea-linux.org/cached/index/G … s_ACL.html

sinon j ai essayé d install de suPHP sur un serveur de test pour fixer definitivement ce probleme.

Mais j ai pas du suivre le bon tuto ou j ai fait une boulette , car ca me fais une erreur 500,
je continuerais mes tests aujourd’hui.