Linux

為什麼 mount.cifs 可以掛載一個空文件夾?

  • May 9, 2013

**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.cifssmbclient行為不同?也許smbclient使用一些隱藏的設置?

順便說一句,我不知道它是否與問題有關,但無論如何。如果我mount.cifs多次執行命令,我不會收到任何folder already mounted消息。雖然之後我可以執行umount相同的次數,直到出現錯誤umount: /mount/point/: not mounted

最後我解決了這個問題。感謝 Wireshark。

從 Wireshark 的日誌中,我看到smbclient它的工作何時完成,然後對等方交換了 GET_DFS_REFERRAL 子命令。但是當我嘗試使用mount.cifs.

似乎伺服器使用了分佈式文件系統設施,所以我嘗試將 DFS 的支持添加到核心中,這就成功了。現在我可以完美地在我掛載的共享中導航、讀取和寫入。

實際上我是這麼想的,smbclientmount.cifs使用相同的低級工具連接到 SMB/CIFS 伺服器,但事實並非如此。看起來 Samba 可以在不支持核心的情況下自行處理 DFS。

smbclient 沒有安裝共享,“mount -t cifs …”而是這樣做。您需要成為超級使用者才能掛載共享。你能試試sudo mount -t cifs //server.name/sharename /mount/point -o username=youruser,domain=yourdomain嗎?

引用自:https://unix.stackexchange.com/questions/74423