红联Linux门户
Linux帮助

Ubuntu14.04配置LDAP Client

发布时间:2016-04-30 09:30:32来源:zhukun.net作者:linux人

Ubuntu 14.04系统上配置LDAP客户端的过程,记录一下。
sudo apt-get install ldap-utils ldap-auth-client libnss-ldap libpam-ldap


安装过程中提示填写ldap相关信息:ldap server地址,base dc等,信息保存在/etc/ldap.conf中,可通过dpkg-reconfigure ldap-auth-config重新配置,其中:
lda地址格式 ldap://192.168.x.x:389
Distinguished name of the search base: 就是你目录树的根,比如我的是dc=navinfo,dc=com
LDAP version to use: 3
Make local root Database admin: Yes
Does the LDAP database require login? No
LDAP account for root:  安装LDAP服务器时的创建的admin账号,我的是cn=admin,dc=navinfo,dc=com
LDAP root account password:


修改/etc/nsswitch.conf文件,添加ldap登陆方式,同时系统查找顺序,以便在查询 LDAP服务器之前先检查您的本地passwd文件
sudo cp -p /etc/nsswitch.conf /etc/nsswitch.conf.bak
sudo auth-client-config -t nss -p lac_ldap


可以看到,执行完命令以后,nsswitch.conf文件变成了如下内容
……
passwd: files ldap
group:  files ldap
shadow: files ldap
……


修改/etc/pam.d/common-password,使得执行passwd时密码可以同步到LDAP服务器上去
sudo vim /etc/pam.d/common-password
……
#找到第26行(删除use_authtok字段)
password     [success=1 user_unknown=ignore default=die]     pam_ldap.so try_first_pass
……


如果未操作这一步,登陆的LDAP用户在执行passwd命令修改密码时,会提示passwd: Authentication information cannot be recovered的错误


自动创建home目录
让pam_mkhomedir.so模块正常工作,用户第一次登录的时候创建主目录
sudo vim /etc/pam.d/common-session
#在末尾添加一行(必须添加在pam_ldap和pam_krb5项之前)
session required        pam_mkhomedir.so umask=0022 skel=/etc/skel
sudo /etc/init.d/libnss-ldap restart

sudo /etc/init.d/nscd restart  #ubuntu12.04还需要此步,否则会提示Unknown id: username


然后可以测试连接一下LDAP Server了。如果遇到错误,请查看本机的/var/log/auth.log分析原因。


本文永久更新地址:http://www.linuxdiyf.com/linux/20217.html