使用 Samba 存取無密碼使用者的 Windows 共用

使用 Samba 存取無密碼使用者的 Windows 共用

我有一台運行Windows 7的筆記型電腦。

我嘗試從運行 Ubuntu 14.04 的 PC 存取其共享,配置為位於相同工作群組中,並連接到相同本地網路。

Nautilus 和 smbclient 都無法存取它。例如

$ smbclient //<server>/<share> -U <user>
Enter <user>'s password: 
Anonymous login successful
Domain=[WORKGROUP] OS=[Windows 7 Ultimate 7601 Service Pack 1] Server=[Windows 7 Ultimate 6.1]
tree connect failed: NT_STATUS_ACCESS_DENIED

(當要求輸入密碼時,我只是按 Enter 鍵)。

諷刺的是,當 Windows 筆記型電腦上的帳戶配置有密碼並輸入正確的密碼時,連線就可以正常運作。

理論上,它應該在兩種情況下都有效:如果沒有密碼,也沒有輸入密碼,則沒有理由拒絕存取。那麼,為什麼它不起作用呢? Samba 是否將「空密碼」視為特殊情況?

答案1

您需要修改 Windows 設定才能執行此操作。從堆疊溢位:

前往控制台 > 網路和共用中心 > 變更進階共用設定 > 啟用關閉密碼保護共用選項

一旦您更改了此選項,一切都應該正常。

請注意,這會有效地剝奪您針對攻擊者修改共用檔案所能提供的任何保護。我建議實際設定一個密碼,並在 fstab 中新增一個自動掛載條目並儲存密碼。

答案2

經過多次折磨和多餘的折磨後,我有了部分解決方案。我做了以下事情:

apt-get install samba-client
apt-get install cifs-utils

然後我發出以下命令:

sudo mount.cifs //192.168.0.2/f$ /mnt/f -o user=administrator

它提示我輸入密碼,我只是按 Enter 鍵而不是輸入密碼,當我按 Enter 鍵時,共享就被掛載了。

這不是一個完整的解決方案,但至少現在我可以存取共享。

不幸的是,nautilus 等的支持仍然受到破壞,因為它們使用其他一些機制來存取共享。

您將無法僅透過鍵入smb://192.168.0.2/f$或其他方式來存取您的共用,因為您將陷入登入循環,因為檔案管理器仍然無法處理無密碼共用。

但至少透過這種方式,您可以將無密碼共用安裝到資料夾並透過檔案總管存取該資料夾。

每次您想要存取無密碼共用時都必須執行此操作,除非您編輯某些配置或其他內容。如果您在朋友家中嘗試存取共享,這仍然會很不方便,但此時總比沒有好。

無論如何,只需修改命令以滿足您的需求,例如更改 IP/共享、您想要安裝的位置以及具有共享的帳戶的使用者名稱。

sudo mount.cifs //192.168.0.2/f$ /mnt/f -o user=administrator

這是我所見過和知道的正確存取無密碼管理共享的唯一方法,我確信它適用於常規無密碼共用。

如果有人知道如何讓文件瀏覽器與smb://我一起工作,我仍然想知道,但我無法弄清楚,而且看起來其他人也不知道。

相關內容