![如何在不需要凭证的情况下访问工作组中的 Samba 共享?](https://linux22.com/image/524927/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E9%9C%80%E8%A6%81%E5%87%AD%E8%AF%81%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E8%AE%BF%E9%97%AE%E5%B7%A5%E4%BD%9C%E7%BB%84%E4%B8%AD%E7%9A%84%20Samba%20%E5%85%B1%E4%BA%AB%EF%BC%9F.png)
Samba 对我来说运行良好。第一次从 Windows 计算机访问共享时,系统会提示我输入凭据。我假设我的凭据被缓存在某个地方,因为后续访问时不会反复提示我。但是,我想完全开放对此特定共享的访问权限(它全部位于私有且安全的 LAN 上)。Samba 共享所在的服务器正在将媒体流式传输到多台客户端计算机,我希望这些客户端计算机通过它正在运行的任何程序对 Samba 共享具有写访问权限。这些计算机是工作组的一部分(不在域中)。
答案1
当您从 Windows 客户端连接到 Samba 框时,Windows 将尝试使用用于登录 Windows 的缓存凭据进行身份验证。如果 Samba 在其数据库(本地 tdbsam、Active Directory、LDAP 等)中未配置匹配的用户名和密码,则它会认为这是一次错误的登录,因此提示您输入正确的凭据。
您可以使用以下方法将所有错误登录尝试映射到访客帐户:
map to guest = Bad User
并配置一个来宾帐户(确保该帐户具有共享的 unix 权限):(
guest account = nobody
默认为 nobody)
您可能guest ok = yes
也需要共享定义。
所有这些都会使与盒子的连接看起来像是自动登录。
答案2
smb.conf 的共享定义中可能类似这样:
[public]
comment = Public Folder
path = /home/public
public = yes
writable = yes
create mask = 0777
directory mask = 0777
force user = nobody
force group = nogroup
尽管有很多方法可以做到这一点。