Partager une part de samba montée dans une autre part

1

J'ai un répertoire partagé via samba. Maintenant, je monte un partage sur un autre ordinateur dans un répertoire qui se trouve à l'intérieur de ce partage. Le problème est que ce partage monté apparaît sous la forme d'un répertoire vide lors de l'accès au partage.

Est-ce que quelqu'un sait pourquoi cela se produit ou comment on pourrait correctement accéder au partage d'un autre ordinateur comme s'il faisait partie d'un autre partage?

Exemple ajouté:

Si cela vous aide, voici comment créer un tel scénario:

# on host assume that we are `user1`
# assume that we use `[homes]` in `smb.conf` so our home directory is shared
mkdir -p d1/d2 && cd d1
# assume that there is a `host2`
# with a share named `share2` and a user `user2`
sudo mount.cifs -o username=user2 '//host2/share2' d2
# we check and see that it works and files from `share2` are visible
ls d2
# now we try to use this share from anywhere, for example locally
echo "ls d1/d2" | smbclient '\\localhost\user1' -U user1
# now we will only see an empty directory
Joseph Dalton
la source
Il est difficile de savoir ce que vous essayez de partager et où. Veuillez clarifier votre question et montrer quelles commandes vous avez utilisées sur quelles machines.
AFH
Je l'ai volontairement formulé de cette manière car il importait peu de créer un montage imbriqué dans un partage Samba. Mais je l'ai rajouté à titre d'exemple pour plus de clarté, car les commandes peuvent être plus faciles à comprendre qu'une description.
Joseph Dalton
Merci pour la clarification: ce n'est pas ce que je pensais que vous essayiez de faire. Je regarde le problème, mais il m'est difficile de mettre en place un test.
AFH
En fait, j'ai compris quelque chose en le faisant. Il semble que smbclient ne fonctionne pas comme prévu. si je tape "ls dir", je ne semble pas pouvoir voir le contenu. Je dois cd puis utiliser ls. Cependant, j'obtiens une erreur d'autorisation si j'essaie d'accéder au répertoire .gvfs, qui était à l'origine de la raison pour laquelle j'ai commencé à enquêter. Y a-t-il une raison pour laquelle c'est différent ou comment on pourrait accéder à des partages montés automatiquement en .gvfs? Probablement quelque chose lié à la sécurité.
Joseph Dalton
Je pense que c'est un problème de sécurité: je ne l'ai pas encore complètement analysé, mais il semble que le nom d'utilisateur d'accès share2ne soit pas accessible lors de l'accès en share1tant que user1. Cependant, ce n’est pas une explication complète et j’enquête davantage.
AFH

Réponses:

0

Après avoir enquêté, il semble que j'ai été affecté par un bogue décrit ici: https://serverfault.com/questions/491464/directories-shown-as-files-when-sharing-a-mounted-cifs-drive

Il semble qu'il y ait un bogue lors du "partage" avec samba: les répertoires sont affichés sous forme de fichiers à cause d'un bogue. Samba utilise le nombre d'inodes pour déterminer ceci et cifs le met à zéro. Tous les répertoires apparaissent donc sous forme de fichiers de taille zéro.

La solution proposée consiste à recompiler un module de noyau pour samba, mais je ne pense pas que ce soit une solution viable. Cela fait 3 ans depuis la réponse, peut-être que quelqu'un connaît une meilleure solution maintenant. Le bogue d'origine a été marqué comme WILL_NOT_FIX dans les fichiers cifs et samba, rien ne semble s'être produit.

Si quelqu'un a une meilleure solution, j'aimerais avoir de ses nouvelles.

Joseph Dalton
la source