Problème de droits avec le serveur apache

Problème de droits avec le serveur apache - Divers - Linux et OS Alternatifs

Marsh Posté le 29-06-2009 à 11:02:23    

Bonjour,
 
J'ai installé lamp sur un serveur (ubuntu workstation) afin, entre autres, de partager mes photos. Pour cela j'utilise un script php qui scanne mon répertoire de photos dans /home/babar21/photos/. Ce script a besoin de créer dans chaque sous-répertoire un répertoire "miniatures" afin d'y créer des... miniatures^^
Le site fonctionne très bien a condition que l'ensemble de mon répertoire de photos appartiennent à l'utilisateur www-data et au groupe www-data (www-data correspondant au serveur apache), avec droits 755. Ceci, vous en conviendrez, n'est pas très sécurisé. En particulier, chaque utilisateur peut, depuis internet, accéder directement à mon répertoire de photos sans passer par le script php et les mots de passe qu'il utilise pour limiter l'accès aux photos.
 
Je me suis donc remis propriétaire des photos, en laissant un simple droit d'exécution aux autres (711), ce qui empêche les gens de se balader comme ils veulent dans mes photos. En revanche, le script ne peut plus créer ses miniatures donc cela m'oblige à lui redonner temporairement les droits à chaque fois que je veux le mettre à jour.
 
N'y a-t-il pas une manière plus simple de procéder, afin que seul le script php ait des droits d'écriture, et pas l'internaute qui visite le site ?
 
Merci !

Reply

Marsh Posté le 29-06-2009 à 11:02:23   

Reply

Marsh Posté le 29-06-2009 à 20:39:59    

chown -R babar21:www-data ton_rep_qui_contient_les_photos
chmod -R 750 ton_rep_qui_contient_les_photos
find ton_rep_qui_contient_les_photos -type f -exec chmod 640 {} \;

Reply

Marsh Posté le 29-06-2009 à 23:02:19    

Merci pour ton aide mais cela ne résout pas le problème : www-data est en r-x pour les dossiers, ce qui signifie :
- que le script php ne peut pas ajouter le répertoire "miniatures" ou renommer automatiquement les photos
- que le visiteur du site peut accéder à tous les dossiers et fichiers (r--) de mon répertoire de photos

 

Merci toutefois pour la commande "find" qui pourrait m'être utile pour essayer de creuser ta méthode.

 

Le gros problème c'est que "www-data" est à la fois le script php et le visiteur du site, or l'un doit avoir accès à tout en lecture et en écriture, alors que l'autre ne doit avoir accès qu'aux photos en lecture !


Message édité par babar21 le 29-06-2009 à 23:05:00
Reply

Marsh Posté le 30-06-2009 à 08:48:04    

simple question : tu créer les miniatures à chaque appel de ta page php?
moi j'ai fait un script cron pour créer mes miniatures (du coup tu le lances avec l'utilisateur que tu veux)


---------------
dam's (debianer), ma galerie Flickr
Reply

Marsh Posté le 30-06-2009 à 10:10:02    

C'est le script php qui scanne le répertoire photo, lorsque je le lui demande, renomme les photos et les dossiers qui pourraient poser problème en lien html (virer les accents, les espaces, etc...), puis crée des miniatures. D'où la nécessité d'avoir beaucoup de droits.
 
Mais, effectivement, si ce scan peut être fait par un script que je lance moi-même, cela pourrait résoudre le problème. Je vais tester cette méthode et je vous tiens au courant.

Reply

Marsh Posté le 01-07-2009 à 20:27:55    

lance ton script via php en ligne de commande (php-cli), et tant que "toi" (sous le compte babar21) et  hop ...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed