為什麼 mount.cifs 可以掛載一個空文件夾?
**gentoo,核心 3.7.10
samba 3.6.12
SMB/CIFS 伺服器:Windows Server 2003 3790 Service Pack 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
最後我解決了這個問題。感謝 Wireshark。
從 Wireshark 的日誌中,我看到
smbclient
它的工作何時完成,然後對等方交換了 GET_DFS_REFERRAL 子命令。但是當我嘗試使用mount.cifs
.似乎伺服器使用了分佈式文件系統設施,所以我嘗試將 DFS 的支持添加到核心中,這就成功了。現在我可以完美地在我掛載的共享中導航、讀取和寫入。
實際上我是這麼想的,
smbclient
並mount.cifs
使用相同的低級工具連接到 SMB/CIFS 伺服器,但事實並非如此。看起來 Samba 可以在不支持核心的情況下自行處理 DFS。
smbclient 沒有安裝共享,“mount -t cifs …”而是這樣做。您需要成為超級使用者才能掛載共享。你能試試
sudo mount -t cifs //server.name/sharename /mount/point -o username=youruser,domain=yourdomain
嗎?