mount.cifs가 빈 폴더를 마운트할 수 있는 이유는 무엇입니까?

mount.cifs가 빈 폴더를 마운트할 수 있는 이유는 무엇입니까?

젠투, 커널 3.7.10
삼바 3.6.12
SMB/CIFS 서버: Windows Server 2003 3790 서비스 팩 2

mount.cifs동작이 프로그램과 다른 상황에 직면했습니다 smbclient.

다음 명령은 정상적으로 작동합니다. 서버에 로그인하여 공유 콘텐츠를 찾아볼 수 있습니다.

smbclient -U domainname/username //server.name/sharename

다음 명령을 사용하여 이 공유 폴더를 마운트하려고 하면

mount -t cifs //server.name/sharename /mount/point -o user=domainname/username

그러면 명령 자체가 제대로 작동합니다(반환 코드 0, 오류 메시지 없음). 그런데 /mount/point텅 빈 것 같았어요.

문제는 무엇입니까? 왜 행동 mound.cifs과 다른가요 smbclient? smbclient숨겨진 설정을 사용할 수도 있나요 ?

그런데, 이것이 질문과 관련이 있는지는 모르겠지만 어쨌든. 명령을 여러 번 실행 하면 mount.cifs어떤 종류의 메시지도 나타나지 않습니다 folder already mounted. 그 이후에는 umount오류가 발생할 때까지 동일한 횟수만큼 실행할 수 있지만umount: /mount/point/: not mounted

답변1

smbclient가 공유를 마운트하는 것이 아니라 "mount -t cifs ..."가 공유를 마운트하는 것입니다. 공유를 마운트하려면 수퍼유저여야 합니다. 시도해 볼 수 있나요 sudo mount -t cifs //server.name/sharename /mount/point -o username=youruser,domain=yourdomain?

답변2

마침내 문제를 해결했습니다. Wireshark님, 감사합니다.

Wireshark 로그에서 smbclient작업이 완료된 후 피어가 GET_DFS_REFERRAL 하위 명령을 교환하는 시기를 확인합니다. 하지만 마운트 공유를 사용하려고 하면 이러한 메시지가 없습니다 mount.cifs.

서버가 분산 파일 시스템 기능을 사용하는 것 같아서 커널에 DFS 지원을 추가해 보았는데 작동했습니다. 이제 마운트된 공유를 완벽하게 탐색하고 읽고 쓸 수 있습니다.

실제로 그렇게 생각 smbclient하고 mount.cifs동일한 하위 수준 도구를 사용하여 SMB/CIFS 서버에 연결했지만 그렇지 않습니다. Samba는 커널 지원 없이 자체적으로 DFS를 처리할 수 있는 것 같습니다.

관련 정보