在没有 Windows 登录提示的情况下,Samba“security = user”可以用于访客共享吗?

在没有 Windows 登录提示的情况下,Samba“security = user”可以用于访客共享吗?

我正在尝试使用 Ubuntu 计算机为 Windows 计算机实验室(Vista Basic 和 XP)设置 Samba 共享。其中两个共享需要登录,但其中一个应该是公共共享。我的问题是,当 Windows 计算机尝试登录公共共享(未先登录另一个共享)时,它会提示输入用户名/密码。

我知道可以通过在 smb.conf 文件中设置“security = share”来解决此问题,但我也读到过这样做可能会导致其他安全问题,而“security = user”才是理想情况。我还知道 smb.conf 手册指出“security = user”会使 Windows 进行身份验证访问共享。

所以我的主要问题是,是否可以对来宾共享使用“security = user”,而无需 Windows 提示登录?或者 Samba 不会对来宾共享做出例外?

这是我的 smb.conf 文件,供参考:

[全球的]
        工作组 = hsbclib
        服务器字符串 = %h 服务器(Samba,Ubuntu)
        dns 代理 = 无
        日志文件 = /var/log/samba/log.%m
        最大日志大小 = 1000
        系统日志 = 0
        恐慌行动 = /usr/share/samba/panic-action %d
        遵守 pam 限制 = 是
        unix 密码同步 = 是
        passwd 程序 = /usr/bin/passwd %u
        passwd chat = *输入新的*密码:*%n\n *重新输入新的*密码:*%n\n *密码已成功更新* .
        pam 密码更改 = 是
        映射到访客 = 坏用户
        用户共享允许客人=是
        安全 = 用户
        客人同意 = 可以
        来宾帐户 = publicuser
        用户名映射 = /etc/samba/smbusers

[打印机]
        评论 = 所有打印机
        可浏览 = 否
        路径 = /var/spool/samba
        可打印 = 是
        创建掩码 = 0700

[打印$]
        评论 = 打印机驱动程序
        路径 = /var/lib/samba/printers

[马巴士等级]
        路径 = /srv/smb/mabusclass
        可写 = 是
        有效用户 = mabus, mabusclass

[年鉴]
        路径 = /srv/smb/yearbook
        可写 = 是
        有效用户=年鉴

[民众]
        评论 = 免费公共存储
        路径 = /srv/smb/public
        可写 = 是
        客人同意 = 可以

答案1

http://blog.realcomputerguy.com/2010/12/samba-and-guest-shares-with-security.html?spref=tw

简而言之,您需要:

  • 用户名映射文件。
  • 有效的 'nix“guest”用户映射到 Windows 来宾帐户(在大多数发行版中为“nobody”)。
  • 正确的 smb.conf 配置。

在此示例中,我们的用户名映射文件是 /etc/samba/smbusers。它将 'nix 用户映射到 Windows 用户。

在 /etc/samba/smbusers 中(许多发行版都包含此文件,但默认被注释掉了):

nobody = guest

在 /etc/samba/smb.conf 中:

[global]
   ...
   security = user
   Map to guest = Bad User
   username map = /etc/samba/smbusers
   ...
-- no 'valid users =' line --

[theshare]
   ...
   guest ok = yes
-- no 'valid users =' line --

相关内容