如何使 Samba 共享不詢問密碼
注意:我可能已經閱讀了多達 50 個不同的頁面,這些頁面描述瞭如何在2 年內設置公共 Samba 共享,但對我沒有任何幫助。我不知道設置這些東西需要多少 RTFM。
我需要/想要在我的家庭伺服器上為兩個工作站設置一個完全開放的公共文件共享。
設置如下:
伺服器:
- Debian Wheezy
sudo smbd --version
給我Version 3.6.6
。- 我想共享的 2 個本地分區,由於舊的和從 Windows 機器上獲取的,所以在 NTFS 中格式化。我無法將它們格式化為 ext* FS,因為它們有很多我無法(還)移動到其他任何地方的數據。
- 由於缺乏獨創性而命名為“homeserv”的機器。
客戶:
- Debian 測試(傑西)
- Windows 7(2 台不同的機器)。事實上,我的機器是 Debian/Windows dualboot,而我妻子的機器只有 Windows。
蒸餾後我的 smb.conf 如下所示(逐字記錄,沒有其他內容):
[global] workgroup = WORKGROUP security = user map to guest = Bad User [disk1] comment = Disk 1 on 400GB HDD path = /media/disk1 browsable = yes guest ok = yes read only = no create mask = 0755 [disk2] comment = Disk 2 on 400GB HDD path = /media/disk2 browsable = yes guest ok = yes read only = no create mask = 0755
在兩台客戶端機器上,在 Debian 和 Windows 中,我得到相同的結果:登錄/密碼對話框。
security = user
,map to guest = Bad user
,security = share
等的組合沒有guest ok = yes
幫助。Windows 7 在我點擊網路鄰居中的共享機器後立即顯示登錄/密碼對話框。
smb://homeserv/
Debian 中的文件路徑(在任何文件瀏覽器中)向我顯示了兩個文件夾:disk1
並且disk2
,按照預期,通過嘗試打開它們帶來登錄/密碼對話框。那麼,我在方案中缺少什麼不必輸入登錄名/密碼?這是可用性問題,我不會為文件垃圾場創建基於使用者的身份驗證。
好的,我自己找到了答案。
由於這在 docs 和 HOWTOs 中絕對不是很明顯,所以這個東西要求輸入密碼的原因是因為它無法將訪客使用者映射到共享目錄的所有者。
我有需要掛載 RW 的 NTFS 分區,所以我在我的
/etc/fstab
:/dev/sdb1 /media/disk1 ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0 2 /dev/sdb2 /media/disk2 ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0 2
最重要的配置部分是
uid
andgid
(也許只有uid
,不知道)。它們被設置為jonnie
在伺服器上設置的使用者的 UID 和 GID(顯然不是 root)。所以,當 ntfs-3g 掛載這些磁碟時,一切都歸他所有。之後,我已將此使用者添加到 Samba 系統資料庫(或者可能創建了新的相同使用者,不在乎):
# smbpasswd -a jonnie
它要求輸入密碼,我輸入了與主系統相同的密碼。
之後,我將
force user
andforce group
設置添加到smb.conf
:[global] workgroup = WORKGROUP netbios name = HOMESERV security = share [disk1] comment = Disk 1 on 400GB HDD path = /media/disk1 browsable = yes guest ok = yes read only = no create mask = 666 directory mask = 777 force user = jonnie force group = jonnie [disk2] comment = Disk 2 on 400GB HDD path = /media/disk2 browsable = yes guest ok = yes read only = no create mask = 666 directory mask = 777 force user = jonnie force group = jonnie
所以,與我相關的最重要的配置是
force user
.