sssd是一款用以取代ldap和AD的软件,配置比较简单。

本文介绍如何在ldap客户端部署sssd,来启用ldap认证。


- 安装sssd

yum install sssd
yum remove pam_ldap samba*

安装sssd,并卸载pam_ldap和samba相关的包

- 配置/etc/sssd/sssd.conf

[sssd]
config_file_version = 2
services = nss, pam
domains = LDAP
[nss]
filter_users = backup, bin, daemon, games, gnats, irc, landscape, libuuid, list, lp, mail, man, messagebus, news, ntp, proxy, root, smmsp, smmta, sshd, sync, sys, syslog, uucp, whoopsie, www-data, dw_adm
[pam]
[domain/LDAP]
id_provider = ldap
auth_provider = ldap
cache_credentials = TRUE
debug_level = 1
ldap_uri = ldaps://ldap.vip
#ldap_uri = ldaps://10.8.8.8, ldaps://10.8.8.9
ldap_search_base = dc=example,dc=com
#ldap_schema = rfc2307bis
ldap_default_bind_dn = uid=proxyagent,ou=Special_Users,dc=example,dc=com
ldap_default_authtok_type = password
ldap_default_authtok = gafn01n0w
ldap_tls_reqcert = never
ldap_id_use_start_tls = true
ldap_netgroup_search_base = ou=Netgroup,ou=example.com,ou=services,dc=example,dc=com?one?
ldap_user_search_base = ou=People,dc=example,dc=com?sub?organizationalStatus=active
ldap_group_search_base = ou=Group,dc=example,dc=com?sub?
cache_credentials = true
enumerate = false
entry_cache_timeout = 5400


ldap_uri指向你的LDAP服务器,这里用的是域名,也可以是IP地址,DOMANI也可以配置多个域,一般只需要配置一个就可以了。

- 配置/etc/nsswitch.conf 

配置好sssd.conf后就要配置/etc/nsswitch.conf 来告诉name service switch需要查找那些地方来给登录的用户服务了。

passwd:      files  sss
shadow:      files  sss
group:       files  sss
netgroup:     files  sss


files sss 表示先查找/etc/passwd, /etc/group等文件,没有的话再查找sss模块。

- 修改/etc/nscd.conf

最后一步, 如果开启了nscd服务,要禁用passwd和group cache的功能。

enable-cache            passwd          no
enable-cache            group           no
enable-cache            netgroup        no

- 最后开启sssd服务

/etc/init.d/sssd start


关于如何搭建LDAP服务端, 我会在其它文章中讲述,请关注我的博客。谢谢!