PolySimon
Posts: 11
Joined: Sat Apr 30, 2016 11:43 am

Impossible de lire clé usb via php

Sat Apr 30, 2016 11:45 am

Bonjour,

Voici mon problème,
Je souhaite pourvoir mettre en téléchargement sur ma page web (PHP) des fichiers se trouvant sur une clé USB.
Le système d'exploitation utilisé est Raspian (sur une raspberry Pi 2) avec un serveur Apache.
Le site fonctionne correctement quand les fichiers à télécharger se trouvent sur le disque dur de la Rapsberry (carte SD) mais lorsqu'ils sont sur la clé USB il est impossible d'y accéder. Après quelques recherches le problème semble être que Apache bloque l'accès à la clé USB en lecture, mais je n'ai pas trouvé de solution.
Je vous remercie de votre aide.

Cordialement,

PolySimon

totoharibo
Posts: 4446
Joined: Thu Jan 24, 2013 8:43 am

Re: Impossible de lire clé usb via php

Sun May 01, 2016 6:59 am

qui la monte ? (la clé USB : pas de mauvaise pensée SVP)

peut-être un problème de montage de clé.
est-elle montée ?
peut-être un problème de droits
quels sont les droits sur la clé (UID-GID + droits) ?
où est-elle montée ?

montée en /var/www/<quelquechose>
ça peut être une solution : pas propre et pas essayé :-)

PolySimon
Posts: 11
Joined: Sat Apr 30, 2016 11:43 am

Re: Impossible de lire clé usb via php

Sun May 01, 2016 11:40 am

Il me semble qu'elle est montée automatiquement, je peux y accéder et lire/écrire dedans via la console sans problème. Avec raspian la clé est automatiquement montée, sauf erreur de ma part.
Au niveau des droits je ne sais pas trop.. Un ls -l me dit que l'écriture/lecture n'est possible que en root (700) bien que je puisse écrire dedans sans être root, bizarre... De plus un chmod ne permet pas de modifier les droit de la clé facilement. Comment faire ? Mon problème viendrait de là ?

Merci

totoharibo
Posts: 4446
Joined: Thu Jan 24, 2013 8:43 am

Re: Impossible de lire clé usb via php

Sun May 01, 2016 5:59 pm

regarde l'adresse de montage de la clé

PolySimon
Posts: 11
Joined: Sat Apr 30, 2016 11:43 am

Re: Impossible de lire clé usb via php

Sun May 01, 2016 7:38 pm

La clé usb est montée dans media/pi/, je sais pas si c'est cela que tu me demandais

totoharibo
Posts: 4446
Joined: Thu Jan 24, 2013 8:43 am

Re: Impossible de lire clé usb via php

Sun May 01, 2016 8:02 pm

PolySimon wrote:La clé usb est montée dans media/pi/, je sais pas si c'est cela que tu me demandais
qui la monte et avec quels droits
montre le résultat d'un : ls -l /media/*

astuces72
Posts: 12
Joined: Sun May 22, 2016 6:37 am

Re: Impossible de lire clé usb via php

Thu Jun 02, 2016 8:29 am

hello,
vu que j'ai le même soucis, je me permet de répondre à la commande

ls -l /media/*
sur ma clé j'ai: drwx------ 3 pi pi 16384 juin 2 09:57 CLE

:D

totoharibo
Posts: 4446
Joined: Thu Jan 24, 2013 8:43 am

Re: Impossible de lire clé usb via php

Thu Jun 02, 2016 11:32 am

astuces72 wrote:hello,
vu que j'ai le même soucis, je me permet de répondre à la commande

ls -l /media/*
sur ma clé j'ai: drwx------ 3 pi pi 16384 juin 2 09:57 CLE

:D
apache met ses fichiers avec un user/groupe différent de pi.
pour voir essaie en faisant un
sudo chmod 777 -R /media

après que la clé ait été montée.

danjperron
Posts: 3502
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Impossible de lire clé usb via php

Thu Jun 02, 2016 10:59 pm

C'est exactement ce que totoharibo a trouvé.

essaie de monter la clef USB avec le user www-data

ex:

Code: Select all

sudo mount -t vfat -o uid=www-data,gid=www-data /dev/sda1 /media/pi
http://www.techjawab.com/2013/06/how-to ... -hard.html

astuces72
Posts: 12
Joined: Sun May 22, 2016 6:37 am

Re: Impossible de lire clé usb via php

Fri Jun 03, 2016 8:32 am

merci pour le bout de code danjperron:

je reflash tout avec une image saine pour repartir sur de bonne base.
En attendant une question que je me pose.
/CLE/ est le label de ma clé usb qui se trouve dans /media/pi/

Pourquoi /dev/sda1 /media/pi et non /dev/sda1 /media/pi/CLE
C'est pour que user www-data soit autorisé dans /media/pi, donc, si une autre clé est branché ça fonctionnera ?
Ou alors il faut que je note plutôt: /dev/sda1 /media/pi/CLE

MErci

astuces72
Posts: 12
Joined: Sun May 22, 2016 6:37 am

Re: Impossible de lire clé usb via php

Fri Jun 03, 2016 12:31 pm

Compliqué, et comme je test en même temps, c'est encore un message avec pleins de tests...

sudo ln -s /media/pi/CLE /var/www/monsite/cle/
j'ai accès au dossier /var/www/cle avec un lien html, ca c'est fait :D
Je vois bien les dossiers/fichiers présents dans la clé quand je navigue avec l'explorateur PCMan du raspberry
Quand je colles des dossiers à l’intérieur via l'explorateur je les vois aussi dans /medi/pi/CLE, il y a donc une liaison.

Mais je ne vois pas son contenu, et je ne peux pas écrire dedans avec apache.
/var/www/cle/CLE avec un lien html:
You don't have permission to acces /cle/CLE/on this server.

un <?php mkdir ("../cle/dossier") ; ?> fonctionne
un <?php mkdir ("../cle/CLE/dossier") ; ?> ne fonctionne pas

avant d’exécuter:
sudo chmod -R go+rw /media/pi/CLE
j'avais: drwx------
et la commande ne change pas le droit, j'ai la même chose.

Un problème de droit sur la clé avec www-data ?

j'ai essayé de faire sur /media/pi/CLE
sudo chown -R www-data:www-data /media/pi/
J'ai opération non permise.
j'ai fais la même chose mais sur /var/www/monsite/cle/CLE
et quand je clic droit sur CLE, et "propriétés" j'ai dans "droits d'accès" proprio: www-data groupe:-www-data et "contrôle d'accès: tout le monde.

danjperron
Posts: 3502
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Impossible de lire clé usb via php

Fri Jun 03, 2016 5:08 pm

En attendant une question que je me pose.
/CLE/ est le label de ma clé usb qui se trouve dans /media/pi/
Ok j'ai supposé que tu montais la clef sous /media/pi et non sous /media/pi/CLEF


il y a de forte chance que tu n'as pas accès avec l'usagé pi puisqu'il n'est pas dans le groupe www-data

il s'agit de l'ajouter

Code: Select all

sudo gpasswd -a pi www-data

astuces72
Posts: 12
Joined: Sun May 22, 2016 6:37 am

Re: Impossible de lire clé usb via php

Fri Jun 03, 2016 6:01 pm

Merci dan

Ta commande m'envoi vers le help de gpasswd.

Après de longue recherche, je ne peux pas faire ce que je veux.
Ma clé en fat32 n'a pas de gestion de droit, il faut partitionner la clé en ext3, donc non, je vais pas faire ça sur des clés pas à moi :)

Merci de votre aide, j'abandonne la sauvegarde via php.

bisous ;)

totoharibo
Posts: 4446
Joined: Thu Jan 24, 2013 8:43 am

Re: Impossible de lire clé usb via php

Fri Jun 03, 2016 7:46 pm

astuces72 wrote:Merci dan

Ta commande m'envoi vers le help de gpasswd.

Après de longue recherche, je ne peux pas faire ce que je veux.
Ma clé en fat32 n'a pas de gestion de droit, il faut partitionner la clé en ext3, donc non, je vais pas faire ça sur des clés pas à moi :)

Merci de votre aide, j'abandonne la sauvegarde via php.

bisous ;)
les droits c'est toi qui les lui donnes au montage, pas le système de fichiers.

Cela est plus puissant que sous Windows mais il faut l'apprendre.
par exemple :
http://linux.developpez.com/tutoriels/d ... tribution/

Le clic de souris c'est quand même limité :-)

danjperron
Posts: 3502
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Impossible de lire clé usb via php

Sat Jun 04, 2016 1:14 am

ok si tu veux écrire avec pi il faut aussi donner la permission lorsque tu montes.

pour donner accès à pi au groupe www-data essaie plutôt

Code: Select all

sudo usermod -a -G www-data pi
il faut que tu log off pour que cela prenne effet. Maintenant tu peux te rebrancher.
utilise id pour savoir si tu as le groupe www-data.

Code: Select all

pi@PiJardin:/media/pi $ id
uid=1000(pi) gid=1000(pi) groupes=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),33(www-data),44(video),46(plugdev),60(games),100(users),101(input),108(netdev),997(gpio),998(i2c),999(spi)
pi@PiJardin:/media/pi $
Lorsque tu montes il faut aussi donner la permission au groupe avec le paramètre umask. Ce que j'avais oublié de spécifier lors de mon post.

Code: Select all

pi@PiJardin:/media/pi $ sudo mount -t vfat -o umask=0007,gid=www-data,uid=www-data /dev/sda1 /media/pi/CLEF
pi@PiJardin:/media/pi $ ls -l -d /media/pi/CLEF
drwxrwx--- 67 www-data www-data 8192 déc 31  1969 /media/pi/CLEF
pi@PiJardin:/media/pi $ 
http://www.cyberciti.biz/tips/understan ... usage.html

Return to “Français”