使用OpenLDAP后端的CentOS 6.4 / Samba4独立服务器

时间:2013-11-26 03:40:13

标签: centos openldap samba

我在OpenLDAP 6.4上运行CentOS服务器(v2.4)。它很棒!我正在使用此OpenLdap服务器作为GitlabRedmine等多项服务的身份验证后端。

现在我想设置另一个Samba独立服务器,并使用OpenLDAP服务器作为OpenLDAP中现有用户的auth后端。我尝试使用samba v3.6.9,但在ldapsam中将auth后端配置为smb.conf后,我无法使用LDAP帐户登录。

当我跑步时

smbclient -L localhost -U%
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.9-151.el6_4.1]

    Sharename       Type      Comment
    ---------       ----      -------
    allusers        Disk      All Users
    IPC$            IPC       IPC Service (Samba Server Version 3.6.9-151.el6_4.1)
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.9-151.el6_4.1]

    Server               Comment
    ---------            -------
    VAGRANT-CENTOS64     Samba Server Version 3.6.9-151.el6_4.1

    Workgroup            Master
    ---------            -------
    WORKGROUP            MY_MACHINE

但是当我使用我的测试acc

登录时
smbclient -L localhost -U test
Enter test's password: 
session setup failed: NT_STATUS_LOGON_FAILURE

这是我的/etc/samba/smb.conf(从testparm打印出来)

[global]
        workgroup = MYGROUP
        server string = Samba Server Version %v
        passdb backend = ldapsam:ldap://192.168.1.201/
        log file = /var/log/samba/log.%m
        max log size = 50
        ldap admin dn = cn=Manager,dc=mycompany,dc=com
        ldap passwd sync = yes
        ldap suffix = dc=mycompany,dc=com
        ldap ssl = no
        ldap debug level = 1
        idmap config * : backend = tdb
        cups options = raw

在Samba服务器中。我使用sssd来验证OpenLDAP。从这个Samba机器我可以通过ldapsearch命令查询用户。我可以通过任何LDAP_USER /密码将id LDAP_USERssh的用户信息提供给此计算机。这是我的/etc/sssd/sssd.conf

[domain/mycompany.com]

ldap_id_use_start_tls = False
cache_credentials = True
ldap_search_base = dc=mycompany,dc=com
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldaps://192.168.1.201:636
ldap_tls_cacertdir = /etc/openldap/certs
ldap_tls_reqcert = never

[sssd]
services = nss, pam
config_file_version = 2

domains = mycompany.com

在OpenLDAP服务器上,我使用LDAP帐户管理器来管理用户/组。我导入samba架构并在LAM中检查一切正常。我还为LDAP中的某些用户启用samba3扩展以进行测试。我还在Samba服务器中打开端口137,138,139,445(tcp)。

那我接下来该怎么办? 我只想重用OpenLDAP服务器中的用户。我不想从samba创建任何用户。请给我关于这个案子的建议。

谢谢!

2 个答案:

答案 0 :(得分:1)

您需要确保samba知道要绑定到LDAP服务器的管理员DN的密码。这是通过

完成的

smbpasswd -w <secret>

在开始使用Samba之前。

现在,如果已经完成,您是否为用户创建了NTLM密码? Samba在为用户执行身份验证时检查sambaNTPassword和sambaLMPassword属性。要在用户通过LDAP更改自己的密码时更改这些属性,您需要使用smbk5pwd OpenLDAP叠加层并在ldap passwd sync = only而不是smb.conf中设置ldap passwd sync = yes。< / p>

答案 1 :(得分:1)

我不知道你是否解决了这个问题。在任何情况下,如果使用ldap远程服务器安装samba 4独立服务器,则必须与域服务器建立相同的SID(不必将其加入域中)。显然,命令net setlocalid <sid domain>不适用于本地计算机。您必须修改LDAP树中的值,搜索netbios机器的名称...我建议您使用LDAP浏览器来实现此目的......

祝你好运