Samba

如何使 Samba 共享不詢問密碼

  • March 25, 2021

注意:我可能已經閱讀了多達 50 個不同的頁面,這些頁面描述瞭如何在2 年內設置公共 Samba 共享,但對我沒有任何幫助。我不知道設置這些東西需要多少 RTFM。

我需要/想要在我的家庭伺服器上為兩個工作站設置一個完全開放的公共文件共享。

設置如下:

伺服器

  • Debian Wheezy
  • sudo smbd --version給我Version 3.6.6
  • 我想共享的 2 個本地分區,由於舊的和從 Windows 機器上獲取的,所以在 NTFS 中格式化。我無法將它們格式化為 ext* FS,因為它們有很多我無法(還)移動到其他任何地方的數據。
  • 由於缺乏獨創性而命名為“homeserv”的機器。

客戶

  1. Debian 測試(傑西)
  2. 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

最重要的配置部分是uidand gid(也許只有uid,不知道)。它們被設置為jonnie在伺服器上設置的使用者的 UID 和 GID(顯然不是 root)。所以,當 ntfs-3g 掛載這些磁碟時,一切都歸他所有。

之後,我已將此使用者添加到 Samba 系統資料庫(或者可能創建了新的相同使用者,不在乎):

# smbpasswd -a jonnie

它要求輸入密碼,我輸入了與主系統相同的密碼。

之後,我將force userandforce 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.

Samba HOWTO提供

引用自:https://serverfault.com/questions/630631