![与 Windows 共享 Samba 驱动器,无需允许访客访问](https://linux22.com/image/1577069/%E4%B8%8E%20Windows%20%E5%85%B1%E4%BA%AB%20Samba%20%E9%A9%B1%E5%8A%A8%E5%99%A8%EF%BC%8C%E6%97%A0%E9%9C%80%E5%85%81%E8%AE%B8%E8%AE%BF%E5%AE%A2%E8%AE%BF%E9%97%AE.png)
我正在尝试在我的 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/passwd
。tdbsam
使用二进制tdb
文件,可以存储有关用户帐户的更多信息。如果您想管理许多帐户和/或已经拥有 LDAP 服务器,LDAP 会更有趣。
另请参阅smbpasswd
添加账户和更改密码。