마운트된 삼바 공유를 다른 공유에서 공유

마운트된 삼바 공유를 다른 공유에서 공유

삼바를 통해 공유되는 디렉토리가 있습니다. 이제 다른 컴퓨터의 공유를 이 공유 내부의 디렉터리에 마운트합니다. 문제는 이 마운트된 공유가 공유에 액세스할 때 빈 디렉터리로 나타난다는 것입니다.

왜 이런 일이 발생하는지 또는 어떻게 다른 컴퓨터의 공유가 다른 공유의 일부인 것처럼 올바르게 액세스할 수 있는지 아는 사람이 있습니까?

추가된 예:

도움이 된다면 이러한 시나리오를 만드는 방법은 다음과 같습니다.

# 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

답변1

조사 결과, 여기에 설명된 버그의 영향을 받은 것으로 보입니다. https://serverfault.com/questions/491464/directories-shown-as-files-when-sharing-a-mounted-cifs-drive

삼바를 사용하여 "재공유"할 때 버그가 있는 것 같습니다. 버그로 인해 디렉토리가 파일로 표시됩니다. Samba는 inode 수를 사용하여 이를 결정하고 cifs는 이를 0으로 설정합니다. 따라서 모든 디렉터리는 크기가 0인 파일로 나타납니다.

제안된 솔루션은 Samba용 커널 모듈을 다시 컴파일하는 것이지만 실행 가능한 솔루션은 아니라고 생각합니다. 답변을 받은 지 3년이 지났습니다. 이제 누군가가 더 나은 해결책을 알고 있을 수도 있습니다. 원래 버그는 cifs와 samba에서 WILL_NOT_FIX로 표시되었지만 아무 일도 일어나지 않은 것 같습니다.

누구든지 더 나은 해결책이 있다면 그들의 의견을 듣고 싶습니다.

관련 정보