我在OpenLDAP
6.4上运行CentOS
服务器(v2.4)。它很棒!我正在使用此OpenLdap服务器作为Gitlab
,Redmine
等多项服务的身份验证后端。
现在我想设置另一个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_USER
和ssh
的用户信息提供给此计算机。这是我的/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创建任何用户。请给我关于这个案子的建议。
谢谢!
答案 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浏览器来实现此目的......
祝你好运