ldap服务端配置

时间:2021-04-10 17:58:11

前言

ldap(Lightweight Directory Access Protocol),轻量目录访问协议.它以树状的层次结构来存储数据,是一种特殊的数据库系统.ldap往往用于在一个大的局域网下进行统一的账号管理


正文

下面进行ldap的服务端配置
1.安装ldap所需组件:

yum install ldap ldap-servers ldap-clients migrationtools

2.修改ldap配置文件

cd /etc/openldap
vim slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif
    #修改olcSuffix和olcRootDN两行
    olcSuffix: dc=centos,dc=com //dc为域名组成
    olcRootDN: cn=root,dc=centos,dc=com //cn为名称,可自定义
vim  slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif
    #修改olcAccess下面一行
    al,cn=auth" read by dn.base="cn=root,dc=centos,dc=com" read by * none //修改cn,dc与之前相同

3.准备ldap的数据库,默认位于/var/lib/ldap/目录下,因此只需复制软件包自带的数据库配置文件即可

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/* //事实上默认已修改,不过依旧注意

4.测试slap配置文件是否正确

slaptest -u //出现config file testing succeeded即可

5.启动slapd服务

systemctl start slapd
systemctl enable slapd //若有需要可设置开机自启

6.将cosine和nis模块导入进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

7.使用migrationtools创建ldif文件

cd /usr/share/migrationtools/
vim migrate_common.ph //更改migrationtools的全局属性
    $NAMINGCONTEXT{'group'} = "ou=Groups"; //61行
    $DEFAULT_MAIL_DOMAIN = "centos.com"; //71行
    $DEFAULT_BASE = "dc=centos,dc=com"; //74行
    $EXTENDED_SCHEMA = 1; //90行
./migrate_base.pl > /root/base.ldif //生成base.ldif
ldapadd -x -W -D 'cn=root,dc=centos,dc=com' -f /root/base.ldif

8.将系统账号添加至ldap数据库
添加系统账号

mkdir -p /home/guests/ldapuser{1,2}
useradd -d /home/guests/ldapuser1 ldapuser1
useradd -d /home/guests/ldapuser2 ldapuser2
echo '123456' | passwd --stdin ldapuser1
echo '123456' | passwd --stdin ldapuser2

将添加的账号的信息重定向至/root/目录下,以供migrationtools使用

getent passwd | tail -n2 > /root/passwd
getent shadow | tail -n2 > /root/shadow
getent groups | tail -n2 > /root/groups

修改migrationtools配置

vim /usr/share/migrationtools/migrate_passwd.pl
    #修改/etc/passwd为/root/shadow
    open(SHADOW, "/root/shadow") || return;

创建ldif文件

./migrate_passwd.pl /root/users > /root/users.ldif
./migrate_group.pl /root/groups > /root/groups.ldif

将用户的ldif文件添加至ldap数据库

ldapadd -x -W -D "cn=root,dc=centos,dc=com" -f /root/users.ldif
ldapadd -x -W -D "cn=root,dc=centos,dc=com" -f /root/groups.ldif

9.最后,在本地测试ldap的dit条目

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