Samba“security = user”是否可用于未经Windowslogin提示的访客共享?

我正在尝试使用Ubuntu计算机为Windows计算机实验室(Vista Basic和XP)设置Samba共享。 两个股份需要login,但其中一个应该是公共份额。 我的问题是,当Windows计算机试图login到一个公共共享(没有先login到另一个共享),它会提示input用户名/密码。

我知道这个问题可以通过在smb.conf文件中设置“security = share”来解决,但是我也读过这样做会导致其他安全问题,并且“security = user”理想上是应该使用的。 我也知道smb.conf手册指出“security = user”使Windows 访问共享之前进行身份validation。

所以我的主要问题是,是否有可能使用“安全=用户”的客人共享没有Windows提示login? 或者桑巴没有为客人分享例外情况?

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

 [全球]
         workgroup = hsbclib
        服务器string=%h服务器(Samba,Ubuntu)
         DNS代理=否
        日志文件= /var/log/samba/log.%m
        最大日志大小= 1000
         syslog = 0
        恐慌行动= / usr / share / samba / panic-action%d
        服从pam限制=是的
         unix密码同步=是
         passwd program = / usr / bin / passwd%u
        密码:*%n \ n * password \ supdated \ ssuccessfully *。
         pam密码更改=是
        映射到guest =糟糕的用户
         usershare允许客人=是
        安全=用户
        客人ok =是
        来宾帐户= publicuser
        用户名map = / etc / samba / smbusers

 [打印机]
        评论=所有打印机
         browseable = no
         path = / var / spool / samba
        打印=是
        创build掩码= 0700

 [打印$]
         comment =打印机驱动程序
         path = / var / lib / samba / printers

 [mabusclass]
         path = / srv / smb / mabusclass
        可写=是
        有效用户= mabus,mabusclass

 [年鉴]
        path= / srv / smb /年鉴
        可写=是
        有效用户=年鉴

 [上市]
        评论=免费公共存储
         path = / srv / smb / public
        可写=是
        客人ok =是

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

简而言之,您需要:

  • 用户名映射文件。
  • 映射到Windows访客帐户的有效“nix”guest“用户(大多数发行版中的”nobody“)。
  • 正确的smb.confconfiguration。

在这个例子中,我们的用户名映射文件是/ 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 --