使用本地用户身份validation将SambajoinActive Directory

我很抱歉,这有些不一致,但希望有人能够做出足够的理解,以了解我想要达到的目标并提供指引。

我有两台networking接口的机器连接到两个不同的networking(其中一个networking接口为DNS提供其他服务),运行两个单独的Samba实例,一个绑定到每个接口。 其中一个实例只是使用共享级别validation的工作组样式设置,这一切都正常工作。

问题是,我打算将另一个实例joinMS Active Directory域(由MS Windows Small Business Server 2003提供),以使一部分域用户能够访问另一个networking上Windows机器的共享。

需要从域环境访问的用户在运行Samba的机器上有帐户(其名称全部是域名用户名的小写版本),但是我不确定如何映射UID以及我所读取的所有关于身份validation的信息在该计算机上针对AD或另一个LDAP服务器的帐户。 为了说明:我只希望访问非工作组Samba实例的AD用户凭据通过AD进行身份validation,而不是运行Samba的计算机上的帐户。

我希望这足够清楚。

编辑:除了能够从AD访问Samba共享之外,我还需要能够从运行Samba的计算机上访问域上的共享,但仍然希望与Samba相关的所有内容都能在本地进行身份validation。

你可以很容易地做到这一点。 您需要执行所有configuration用户通过AD(KRBconfiguration,join域)进行身份validation的步骤,直到bot不包括PAM更改。 然后,您只需将SAMBA设置为使用winbind作为身份validation源。 这是一个我用来达到同样效果的smb.conf的旧副本:

#======================= Global Settings ===================================== [global] # Domain Authntication Settings workgroup = <my domain> server string = <Sever String> security = ads passdb backend = tdbsam realm = <mydomain.com> client use spnego = yes ldap ssl = no # logging log level = 5 max log size = 50 # logs split per machine log file = /var/log/samba/%m.log # max 50KB per log file, then rotate ; max log size = 50 # User settings username map = /etc/samba/smbusers idmap uid = 10000-20000000 idmap gid = 10000-20000000 idmap backend = ad ; template primary group = <ad group> template shell = /sbin/nologin # Winbind Settings winbind separator = + winbind enum users = Yes winbind enum groups = Yes winbind netsted groups = Yes winbind nested groups = Yes winbind use default domain = Yes #Other Globals unix charset = LOCALE server string = <my server name> load printers = no printing = cups cups options = raw ; printcap name = /etc/printcap #obtain list of printers automatically on SystemV ; printcap name = lpstat ; printing = cups #============================ Share Definitions ============================== [share] comment = <share comment> path = /srv/smb/share guest ok = yes valid users = "DOMAIN+testUser" read only = yes 

另外,如果你使用的是Ubuntu,那么10.04LTS版本在几个月前就有一个bug,完全破坏了这个设置(没人可以authentication) – 如果是这样的话,从SAMBA站点抓取一个版本