#1 Le 18/11/2015, à 15:08
- ybatb
mount.cifs file_mode et dir_mod non pris en compte
Bonjour à tous,
J'ai un problème de droits avec le montage d'un partage SAMBA.
J'ai recherché une solution sur le forum et d'autres sites mais ne l'ai pas trouvée.
Je précise mon problème :
J'ai un partage SAMBA créé sur un serveur LINUX avec une interface web. Je n'ai aucun moyen de modifier le paramétrage coté serveur (je n'ai pas le mot de passe root).
Je monte ce partage sur un serveur Ubuntu 8.04 sur lequel tourne AMP. car je dois créer des dossiers et sous-dossiers sur ce partage avec un script PHP.
voici la commande de montage :
sudo mount.cifs //192.168.4.191/Affaires /home/public/Affaires/ -v -o rw,uid=www-data,gid=www-data,file_mode=0640,dir_mode=0750,credentials=/root/.credent_atb
et voici ce que donne le résultat de la création de dossier avec mon script :
drwxr-xr-x 2 www-data www-data 0 2015-11-18 11:16 30000 test cree manuellement
dr----x--x 2 www-data www-data 0 2015-11-18 11:18 30001 test creation script php
Il semble que les options file_mode et dir_mode ne sont pas prisent en compte, ce qui fait que les sous-dossiers ne sont pas créés et que je ne peux rien faire avec ce dossier.
J'ai également essayé avec l'option umask=000 mais le résultat est le même.
Dans le fichier .credent_atb, j'utilise le user et le mdp créés à l'installation du système
Avez-vous une idée sur la façon de résoudre ce problème ?
Hors ligne
#2 Le 18/11/2015, à 18:57
- Max-Ulrich
Re : mount.cifs file_mode et dir_mod non pris en compte
J'ai un partage SAMBA créé sur un serveur LINUX avec une interface web
avec "Swat"? Cela crée parfois des problèmes surprenants, car Swat n'est plus à jour.
... sur un serveur LINUX...Je monte ce partage sur un serveur Ubuntu
Donc les "cifs-UNIX-Extensions" sont actives par défault. Et celles-ci ont la priorité sur les options "uid=www-data,gid=www-data,file_mode=0640,dir_mode=0750". Il est donc normal que ces dernières ne sont pas réspectées. Puisque tu n'as pas accès au paramétrage côté serveur, tu ne peux pas désactiver les UNIX-Extensions de façon génerale. Mais tu peux ajouter l'option "nounix" dans la ligne de commande de montage pour chaque partage sur le client. Ainsi, ces autres paramètres seront pris en compte. Seulement l'option "umask=000" ne marche jamais avec cifs.
Mais je ne suis pas sûr, si cela résoud entièrement ton problème; il n' est pas impossible qu'il y ait d'autres problèmes dans ce script PHP.
M-U
Hors ligne
#3 Le 19/11/2015, à 10:50
- ybatb
Re : mount.cifs file_mode et dir_mod non pris en compte
Bonjour,
Merci de prendre du temps pour m'aider à résoudre mon problème.
Voici les réponses à tes questions :
1 - l'interface web n'est pas swat mais propriétaire au fournisseur du serveur.
2 - Lorsque tu dis :
Et celles-ci ont la priorité sur les options "uid=www-data,gid=www-data,file_mode=0640,dir_mode=0750"
pour moi, seules les options "file_mode" et "dir_mode" sont ignorées. Les options "uid" et "gid" sont bien prisent en compte. Le dossier Affaires avant montage n'est pas "www-data:www-data"
J'ai d'ailleurs essayé en "root:root", puis en "nobody:nogroup", et d'autres. Si je ne mets pas les options "uid" et "gid", le dosier est monté en "uucp:users"
3 - Lorsque j'utilise l'option "nounix", je ne vois plus les dossiers existants ce qui est embêtant car avant de créer mes dossiers avec mon script, je teste d'abord s'il n'existe pas déjà.
sudo mount.cifs //192.168.4.191/Affaires /home/public/Affaires/ -o rw,uid=www-data,gid=www-data,file_mode=0640,dir_mode=0750,credentials=/root/.credent_atb,nounix
ateliersbois@server:/home/public$ ls -l
total 44
drwxr-x--- 1 www-data www-data 0 2015-11-18 15:35 Affaires
.....
server:/home/public$ sudo ls -l Affaires
total 0
4 - J'ai testé mon script en créant un dossier local "Affaires_test" et en lui assignant les droits, utilisateur et groupe qui conviennent, puis en utilisant mon script sur ce dossier.
Le résultat est bien celui attendu : création du dossier et de ses sous-dossiers.
drwxrwxrwx 483 www-data www-data 0 2015-11-19 09:58 Affaires
drwxrwxrwx 2 www-data www-data 4096 2015-11-19 10:02 Affaires_test
server:/home/public$ ls -l Affaires_test/
total 4
drwxrwxrwx 4 www-data www-data 4096 2015-11-19 10:07 30002 test script linux dossier local
server:/home/public$ ls -l Affaires_test/30002\ test\ script\ linux\ dossier\ local/
total 8
drwxrwxrwx 6 www-data www-data 4096 2015-11-19 10:07 Administratif
drwxrwxrwx 7 www-data www-data 4096 2015-11-19 10:07 Technique
J'ai contacté le fournisseur du serveur qui me dis qu'il existe des options de montage qui permettent de faire une translation de droits entre le dossier monté et le dossier distant. J'ai épluché la doc mais n'ai rien vu qui ressemble à ça. En as tu déjà entendu parler ?
Hors ligne