CentOS 6.8 LDAP服务器的配置

来源:互联网 发布:mac双系统对电脑好吗 编辑:程序博客网 时间:2024/05/16 13:06

环境介绍

LDAP Server端:

hostnamepnode11IPaddr:192.168.56.220

LDAP Client端:

hostname:pnode12IPaddr: 192.168.56.221

安装LDAP相关的软件包

1、首先配置本地yum源,请参考我的nis服务搭建过程。
2、在server、client端分别安装以下软件包

yum install openldap*rpm -qa|grep openldap

LDAP server端配置

1、首先cd /etc/openldap目录下执行以下操作:

rm -rf /etc/openldap/slapd.d/*cp /usr/share/openldap-servers/slapd.conf.obsolete  /etc/openldap/slapd.conf

执行完之后可以看到如下文件

certs check_password.conf ldap.conf schema slapd.conf slapd.d

2、创建LDAP管理员密码

[root@pnode11 migrationtools]# slappasswd New password: Re-enter new password: {SSHA}32+hyGI4lJkUzi+cQ+RejqFNVLTBqWMq

输入两次密码之后请保存生成的密文。
3、修改slap.conf文件
主要修改cn、dc、rootpw的内容,rootpw为上一步生成的密文。

database monitoraccess to *        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read        by dn.exact="cn=Manager,dc=zhilong.com" read        by * none######################################################################## database definitions#######################################################################database        bdbsuffix          "dc=zhilong.com"checkpoint      1024 15rootdn          "cn=Manager,dc=zhilong.com"# Cleartext passwords, especially for the rootdn, should# be avoided.  See slappasswd(8) and slapd.conf(5) for details.# Use of strong authentication encouraged.# rootpw                secretrootpw          {SSHA}d2aAB5GOxLnj0d2/F7Tq6gK8vGqsMKFQ**这里rootpw后面必须是连个Tab隔开,否则后面执行命令会报错!**

4、创建数据库文件
从模板复制产生的数据库文件

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

设置目录权限

chown -R ldap:ldap /etc/openldapchown -R ldap:ldap /var/lib/ldap

测试配置文件是否正确

[root@pnode11 migrationtools]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.dconfig file testing succeeded

5、启动LDAP服务

chown -R ldap:ldap /var/lib/ldapservice slapd startchkconfig slapd on

启动之后我们会在/var/lib/ldap路径下看到一些数据库文件

[root@pnode11 slapd.d]# ll /var/lib/ldap/
total 11724
-rw-r–r– 1 ldap ldap 4096 Dec 23 16:42 alock
-rw——- 1 ldap ldap 8192 Dec 23 14:35 cn.bdb
-rw——- 1 ldap ldap 24576 Dec 23 16:42 __db.001
-rw——- 1 ldap ldap 9093120 Dec 23 16:42 __db.002
-rw——- 1 ldap ldap 335552512 Dec 23 16:42 __db.003
-rw——- 1 ldap ldap 2359296 Dec 23 15:09 __db.004
-rw——- 1 ldap ldap 753664 Dec 23 16:42 __db.005
-rw——- 1 ldap ldap 32768 Dec 23 16:42 __db.006
-rw-r–r– 1 ldap ldap 845 Dec 23 13:50 DB_CONFIG
-rw——- 1 ldap ldap 8192 Dec 23 14:35 dn2id.bdb
-rw——- 1 ldap ldap 8192 Dec 23 14:35 gidNumber.bdb
-rw——- 1 ldap ldap 32768 Dec 23 14:35 id2entry.bdb
-rw——- 1 ldap ldap 10485760 Dec 23 15:09 log.0000000001
-rw——- 1 ldap ldap 8192 Dec 23 14:35 loginShell.bdb
-rw——- 1 ldap ldap 8192 Dec 23 15:05 memberUid.bdb
-rw——- 1 ldap ldap 8192 Dec 23 14:35 objectClass.bdb
-rw——- 1 ldap ldap 8192 Dec 23 14:35 ou.bdb
-rw——- 1 ldap ldap 8192 Dec 23 14:35 uid.bdb
-rw——- 1 ldap ldap 8192 Dec 23 14:35 uidNumber.bdb

6、检索搜索域
ldapsearch -x -b “dc=zhilong.com”
-b:制定搜索起始点的专有名称,使用引号引用该值
-x:用于对搜索得到的信息进行排序

[root@pnode11 slapd.d]# ldapsearch -x -b "dc=zhilong.com"# extended LDIF## LDAPv3# base <dc=zhilong.com> with scope subtree# filter: (objectclass=*)# requesting: ALL## search resultsearch: 2result: 32 No such object# numResponses: 1

7、创建需要认证的用户

useradd ldapuser1       **创建用户**echo "111111" |passwd --stdin ldapuser1   **设置密码**

8、安装迁移工具mogrationtools

yum install migrationtools -y

安装完成后在该目录下/usr/share/migrationtools会产生迁移脚本。

迁移脚本的主要信息配置在migrate_common.ph中,修改migrate_common.ph中的base、domain信息。

# Default DNS domain$DEFAULT_MAIL_DOMAIN = "zhilong.com";# Default base $DEFAULT_BASE = "dc=zhilong.com";

修改完成后请运行脚本./migrate_base.pl,脚本会创建根项,并未Hosts、Networks、Group和People创建组织单元。
9、创建认证用户的数据文件
主要概念:
dn:记录LDAP用户位置
dc:记录用户所属的区域
ou:记录所属的组织
cn/uid:记录用户名字/ID
(1)创建基本的数据库文件

./migrate_base.pl  base.ldif

编辑base.ldif文件,只保留以下内容:

dn: dc=zhilong.comdc: zhilong.comobjectClass: topobjectClass: domaindn: ou=People,dc=zhilong.comou: PeopleobjectClass: topobjectClass: organizationalUnitdn: ou=Group,dc=zhilong.comou: GroupobjectClass: topobjectClass: organizationalUnit

(2)创建用户数据库文件

./migrate_base.pl /etc/passwd user.ldif 

编辑user.ldif文件,只保留以下内容:

dn: dc=zhilong.comdc: zhilong.comobjectClass: topobjectClass: domaindn: ou=People,dc=zhilong.comou: PeopleobjectClass: topobjectClass: organizationalUnitdn: ou=Group,dc=zhilong.comou: GroupobjectClass: topobjectClass: organizationalUnit[root@ldap-server migrationtools]# cat passwd.ldif dn: uid=ldapuser1,ou=People,dc=zhilong.comuid: ldapuser1cn: ldapuser1objectClass: accountobjectClass: posixAccountobjectClass: topobjectClass: shadowAccountuserPassword: {crypt}$6$FjByTrhU$NOAvoKU3DV1PUs4WGM3yagv4VOIsguqgiVUhnEGaJ16wbqrGBAXTfOkoaCkl5gVC.6V48zxkDjgwXoSJo0Ox40shadowLastChange: 17162shadowMin: 0shadowMax: 99999shadowWarning: 7loginShell: /bin/bashuidNumber: 500gidNumber: 500homeDirectory: /home/ldapuser1

(3)创建组账户数据库文件

./migrate_base.pl /etc/group groups.ldif

编辑group.ldif文件,只保留以下内容:

dn: cn=ldapuser1,ou=Group,dc=zhilong.comobjectClass: posixGroupobjectClass: topcn: ldapuser1userPassword: {crypt}xgidNumber: 500

(4)然后检查生成的“基本数据库文件”“用户数据库文件”“组数据库文件”

[root@pnode11 migrationtools]# ll user.ldif groups.ldif base.ldif -rw-r--r-- 1 root root  255 Dec 23 14:15 base.ldif-rw-r--r-- 1 root root  413 Dec 23 14:19 groups.ldif-rw-r--r-- 1 root root 1322 Dec 23 14:17 user.ldif

(5)重启slapd 服务器,然后将生成的数据库文件添加到LDAP数据库中,分别执行以下命令(需要数据ldap管理员密码):

[root@pnode11 migrationtools]# ldapadd -D "cn=Manager,dc=zhilong.com" -W -x -f base.ldif Enter LDAP Password: adding new entry "dc=zhilong.com"adding new entry "ou=People,dc=zhilong.com"adding new entry "ou=Group,dc=zhilong.com"
[root@pnode11 migrationtools]# ldapadd -D "cn=Manager,dc=zhilong,dc=com" -W -x -f user.ldif Enter LDAP Password: adding new entry "uid=ldapuser1,ou=People,dc=zhilong.com"
[root@pnode11 migrationtools]# ldapadd -D "cn=Manager,dc=zhilong,dc=com" -W -x -f groups.ldif Enter LDAP Password: adding new entry "cn=ldapuser1,ou=Group,dc=zhilong.com"

(6)再次运行查询命令
执行:ldapsearch -x -b “dc=zhilong.com”

[root@pnode11 migrationtools]# ldapsearch -x -b "dc=zhilong.com" # extended LDIF## LDAPv3# base <dc=zhilong.com> with scope subtree# filter: (objectclass=*)# requesting: ALL## zhilong.comdn: dc=zhilong.comdc: zhilong.comobjectClass: topobjectClass: domain# People, zhilong.comdn: ou=People,dc=zhilong.comou: PeopleobjectClass: topobjectClass: organizationalUnit# Group, zhilong.comdn: ou=Group,dc=zhilong.comou: GroupobjectClass: topobjectClass: organizationalUnit# ldapuser1, People, zhilong.comdn: uid=ldapuser1,ou=People,dc=zhilong.comuid: ldapuser1cn: ldapuser1objectClass: accountobjectClass: posixAccountobjectClass: topobjectClass: shadowAccountuserPassword:: e2NyeXB0fSQ2JEZqQnlUcmhVJE5PQXZvS1UzRFYxUFVzNFdHTTN5YWd2NFZPSXN ndXFnaVZVaG5FR2FKMTZ3YnFyR0JBWFRmT2tvYUNrbDVnVkMuNlY0OHp4a0RqZ3dYb1NKbzBPeDQwshadowLastChange: 17162shadowMin: 0shadowMax: 99999shadowWarning: 7loginShell: /bin/bashuidNumber: 500gidNumber: 500homeDirectory: /home/ldapuser1# ldapuser1, Group, zhilong.comdn: cn=ldapuser1,ou=Group,dc=zhilong.comobjectClass: posixGroupobjectClass: topcn: ldapuser1userPassword:: e2NyeXB0fXg=gidNumber: 500# search resultsearch: 2result: 0 Success# numResponses: 6# numEntries: 5

至此,ldap服务端的配置已经完成。

LDAP Client端的配置

1、安装openldap-clients、nss-pam-ldapd、pam_ldap

yum install openldap-clients nss-pam-ldapd pam_ldap -y
然后运行authconfig-tui一次选择:Use LDAP、Use MD5 Passwords、Use Shadow Passwords、Use LDAP Authentication;然后点击Next填写:[ ]Use TLS           **不选择**Server:ldap://192.168.56.220Base DN:dc=zhilong.com

2、开启nslcd服务cat /etc/nslcd.conf

uid nslcdgid ldapuri ldap://192.168.56.220base dc=zhilong.comssl notls_cacertdir /etc/openldap/cacerts

启动服务:service nslcd start;chkconfig nslcd on
3、修改身份认证机制文件
/etc/sysconfig/authconfig

USEMKHOMEDIR=yesPASSWDALGORITHM=md5USELDAPAUTH=yesUSELDAP=yesUSESYSNETAUTH=yes

4、设置ldap client配置文件:

[root@ldap-client ~]# cat /etc/openldap/ldap.conf ## LDAP Defaults## See ldap.conf(5) for details# This file should be world readable but not world writable.#BASE   dc=example,dc=com#URI    ldap://ldap.example.com ldap://ldap-master.example.com:666#SIZELIMIT  12#TIMELIMIT  15#DEREF      neverTLS_CACERTDIR /etc/openldap/cacertsURI ldap://192.168.56.220BASE dc=zhilong.com

5、修改nsswitch文件:cat /etc/nsswitch.conf

passwd:     files ldapshadow:     files ldapgroup:      files ldap

6、修改pam的认证方式:cat /etc/pam.d/system-auth

auth        sufficient    pam_ldap.so use_first_passaccount     [default=bad success=ok user_unknown=ignore] pam_ldap.sopassword    sufficient    pam_ldap.so use_authtoksession     optional      pam_ldap.so

7、配置完成后先启动sssd服务:

service nslcd restart ; service sssd restart chkconfig nslcd on ; chkconfig sssd on
然后使用ldapuser1登录ldap client服务器:ssh ldapuser1@192.168.56.221。如果登录成功,则client的配置完成。

至此LDAP Client端配置完成。

1 0