首页 > 代码库 > 安装OpenLDAP

安装OpenLDAP

LDAP介绍

        LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。

目的:

        使用LDAP对用户名密码做统一管理,实现一个帐号登录多个不同系统。

Server Config

1、安装部署相应的软件包

# yum install -y openldap openldap-clients openldap-servers migrationtools

2、编辑OpenLDAP配置文件

# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif

olcSuffix: dc=example,dc=com    #在配置文件的第8行

olcRootDN: cn=Manager,dc=example,dc=com    #在配置文件的第9行

olcRootPW: password    #新增加一行密码按自己的要求设置

3、编辑监控数据库的配置文件

# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif

olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern

 al,cn=auth" read by dn.base="cn=Manager,dc=example,dc=com" read by * none

# 在配置文件的第6行
4、LDAP数据库

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

5、赋予ldap目录权限

# chown -R ldap.ldap /var/lib/ldap

6、测试配置文件

# slaptest -u

7、启动并启用slapd服务

# systemctl start slapd

# systemctl enable slapd

8、查看LDAP进程及端口运行情况

# netstat -lt | grep ldap

# netstat -tunlp | egrep "389|636"

9、配置LDAP模式(根据需求添加相应的模式)

# cd /etc/openldap/schema/

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f collective.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f corba.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f duaconf.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f dyngroup.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f java.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f misc.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f openldap.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f pmi.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f ppolicy.ldif

10、编辑migrate_common.ph配置文件

# cd /usr/share/migrationtools/

# vim migrate_common.ph

$NAMINGCONTEXT{‘group‘}             = "ou=Groups";    #在61行处ou=Group加s

$DEFAULT_MAIL_DOMAIN = "example.com";    #在71行处改成所需的域名

$DEFAULT_BASE = "dc=example,dc=com";    #在74行处更改顶级域名和二级域名

$EXTENDED_SCHEMA = 1;    #在90行处更改EXTENDED_SCHEMA的值

11、生成base.ldif的配置文件

# ./migrate_base.pl > /root/base.ldif

12、加载 "base.ldif" 到 LDAP 数据库

# ldapadd -x -W -D "cn=Managert,dc=example,dc=com" -f /root/base.ldif

13、创建用户和组并加入到LDAP数据库中

# mkdir /home/guests

# useradd -d /home/guests/ldapzhangsan ldapzhangsan

# useradd -d /home/guests/ldaplisi ldaplisi

# echo ‘password‘ | passwd --stdin ldapzhangsan

# echo ‘password‘ | passwd --stdin ldaplisi

14、过滤这些用户和组从/etc/shadow到不同文件的密码

# getent passwd | tail -n 5 > /root/users

# getent shadow | tail -n 5 > /root/shadow

# getent group | tail -n 5 > /root/groups

15、编辑migrate_passwd.pl配置文件

# vim migrate_passwd.pl

open(SHADOW, "/etc/shadow") || return;    #在188行处把/etc/shadow更改为/root/shadow

16、上传这些用户和组ldif文件到LDAP数据库

# ldapadd -x -W -D "cn=Managert,dc=exampl,dc=com" -f users.ldif

# ldapadd -x -W -D "cn=Managert,dc=exampl,dc=com" -f groups.ldif

17、加载LDAP

# ldapsearch -x -b "dc=exampl,dc=com" -H ldap://127.0.0.1

Client Config

# yum install -y nss-pam*

# authconfig-tui    #[ Use LDAP] and next

# su ldapzhangsan    #测试客户端账户登录

bash-4.1$     #测试成功

本文出自 “耐心是美德” 博客,谢绝转载!

安装OpenLDAP