配置Ubuntu使用ldap认证
将ubuntu配置为通过ldap认证,使其成为ldap client,本文实验环境为ubuntu 12.04。
一、手工配置方式
1、软件安装:
apt-get install ldap-utils libpam-ldap libnss-ldap nslcd
root@ldapclient:~# auth-client-config -t nss -p lac_ldap
vi /etc/pam.d/common-session,追加内容:session required pam_mkhomedir.so skel=/etc/skel umask=0022
root@ldapclient:~# pam-auth-update
update-rc.d nslcd enable
vi /etc/pam.d/common-password,除去其中的use_authtok参数
/etc/init.d/nscd restart
user1@ldapclient:~$ su - managerPassword:***** Creating directory '/home/manager'.manager@ldapclient:~$
#!/bin/bash#--------------------------------------------#Ldap server地址及base DNLDAP_SERVER_IP=192.168.1.100BASE_DN='dc=my,dc=com,dc=cn'#--------------------------------------------#创建preseed文件-软件安装自应答touch debconf-ldap-preseed.txtecho "ldap-auth-config ldap-auth-config/ldapns/ldap-server string ldap://$LDAP_SERVER_IP" >> debconf-ldap-preseed.txtecho "ldap-auth-config ldap-auth-config/ldapns/base-dn string $BASE_DN" >> debconf-ldap-preseed.txtecho "ldap-auth-config ldap-auth-config/ldapns/ldap_version select 3" >> debconf-ldap-preseed.txtecho "ldap-auth-config ldap-auth-config/dbrootlogin boolean false" >> debconf-ldap-preseed.txtecho "ldap-auth-config ldap-auth-config/dblogin boolean false" >> debconf-ldap-preseed.txtecho "nslcd nslcd/ldap-uris string ldap://$LDAP_SERVER_IP" >> debconf-ldap-preseed.txtecho "nslcd nslcd/ldap-base string $BASE_DN" >> debconf-ldap-preseed.txtcat debconf-ldap-preseed.txt | debconf-set-selections#安装ldap client相关软件apt-get install -y ldap-utils libpam-ldap libnss-ldap nslcd#认证方式中添加ldapauth-client-config -t nss -p lac_ldap#认证登录后自动创建用户家目录echo "session required pam_mkhomedir.so skel=/etc/skel umask=0022" >> /etc/pam.d/common-session#自启动服务update-rc.d nslcd enable#可以在Host上通过passwd更改用户密码cp /etc/pam.d/common-password /etc/pam.d/common-password.baksed -i 's/use_authtok//' /etc/pam.d/common-password#使配置生效/etc/init.d/nscd restart