droits sur les répertoires et les fichiers

jroure

Membre actif
7 Mai 2002
152
0
Visiter le site
Bonjour,

J'utilise des scripts PHP rudimentaires (qui ne requièrent pas MySQL) et qui me permettrent de créer, modifier, supprimer des fichiers .dat (ils contiennent du texte) : tout fonctionne nickel chez un hébergeur comme free.fr

Mais lorsque je souhaite les faire tourner sur mon Mac, ça coince : rien ne s'écrit, rien ne se modifie, rien ne s'efface.

Je tâtonne avec batchmod pour changer les droits des répertoires et/ou des fichiers, rien n'y fait. Je me mélange les pinceaux entre les possesseurs, les groupes et "tous" : 777 d'accord, mais pour quel possesseur, quel groupe, etc. ?

Nota : Apache et PHP tournent sur ma machine, quand j'ouvre une page 127.0.0.1/toto.php, les includes par exemple sont bien interprêtés.

Dernier point qui peut contribuer à la solution : je ne parviens pas à faire fonctionner les SSI (fichiers en .shtml qui appellent diverses commandes)

Je vous remercie
 
Hello,

Voici un article assez complet sur les chmods. Sinon une autre technique plus simple, pomme+i sur ton dossier qui contiens tes fichiers .dat, et là tu règles les accès, dans ce cas il te faudra mettre accessible en lecture et ecriture pour tous... afin que ton script puisse écrire dans ces fichiers..

Pour tes fichiers shtml, dsl je n'ai aucune idée...
 
Un script PHP est exécuté par Apache qui l'exécute en tant qu'un utilisateur normal, qui n'est donc ni possesseur ni dans le groupe de l'utilisateur possesseur. Donc, il faut que les "autres" puissent avoir accès en lecture et exécution sur ton script. Donc un chmod 0755. (lecture=4 + exécution=1 == 5)
 
Quand on applique des droits 777 par exemple, il faut tenir compte de l'utilisateur (possesseur) ainsi que du groupe.

par possesseur, on trouvera :
- moi
- root
- nobody
- daemon, etc.

par groupe, on trouvera :
- moi
- daemon
- nogroup, etc.

Il y a un nombre délirant de combinaisons : pour l'heure, aucune ne marche. Si quelqu'un arrive à écrire dans un fichier en PHP, peut-il me dire quels sont les droits de son fichier et de son répertoire (777 probablement), mais surtout, quel utilisateur et quel groupe ? Chez moi, je bloque.

(Mon site se trouve depuis la racine : MOI:/Users/MOI/Sites/
L'httpd.conf de l'Apache est configuré pour que 127.0.0.1 ou localhost pointe sur MOI:/Users/MOI/Sites/ autrement dit sur : http://moi.local/ )