与 Windows 共享 Samba 驱动器,无需允许访客访问

与 Windows 共享 Samba 驱动器,无需允许访客访问

我正在尝试在我的 Raspberry Pi 和 Windows 10 之间建立一个简单的 Samba 共享。这是我的配置:

[global]
   min protocol = SMB2
   workgroup = WORKGROUP
   wins support = no
   dns proxy = no
   guest account = nobody
   interfaces = 127.0.0.1, 192.168.2.0/24
   bind interfaces only = yes 
   hosts allow = 127.0.0.1 192.168.2.0/24
   hosts deny = 0.0.0.0/0
   log file = /var/log/samba/log.%m
   log level = 1
   max log size = 1000
   panic action = /usr/share/samba/panic-action %d
   security = user
   server role = standalone server
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   encrypt passwords = yes
   map to guest = never
   usershare allow guests = no
   auto services = pi

#======================= Share Definitions =======================

[homes]
   comment = Home Directories
   browseable = no
   read only = yes
   create mask = 0700
   directory mask = 0700
   valid users = %S
[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700
[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
[pi]
   comment = pi samba share
   path = /home/shares/pi
   browseable = yes
   writeable = true
   admin users = pi
   public = no
   valid users = pi
   hide dot files = no

为了实现这个功能,我必须遵循这篇文章SMB2 中的来宾访问更改注册表项以允许访客访问。

我需要在配置中进行哪些更改,以便不需要更改任何注册表项即可使一切正常工作(意思是:我可以/home/shares/pi从我的 Windows 10 成功访问)?

我的配置中有各种设置,据我所知,这些设置禁止访客访问,所以我不明白为什么我仍然必须启用它。

答案1

您有两种可能的方法:

  • 您可以以访客身份访问这些文件。
  • 您可以配置必须进行身份验证的帐户。

如果所有用户都应该有访问权限,那么来宾帐户就很好了,但这不是您想要的,因此您必须配置一个或多个帐户。 Samba 允许不同类型的帐户,它们使用以下选项进行配置passdb backend

  • smbpasswd - 旧的纯文本 passdb 后端。如果使用此 passdb 后端,某些 Samba 功能将无法使用。将 smbpasswd 文件的路径作为可选参数。

  • tdbsam - 基于 TDB 的密码存储后端。将 TDB 的路径作为可选参数(默认为私有目录中的 passdb.tdb)。

  • ldapsam - 基于 LDAP 的 passdb 后端。以 LDAP URL 作为可选参数(默认为 ldap://localhost)

smbpasswd最古老和最简单的,它只是一个类似于的纯文件/etc/passwdtdbsam使用二进制tdb文件,可以存储有关用户帐户的更多信息。如果您想管理许多帐户和/或已经拥有 LDAP 服务器,LDAP 会更有趣。

另请参阅smbpasswd添加账户和更改密码。

相关内容