Linux的centos7中OpenLDAP的安装,卸载与重装

一、OpenLDAP的简介

OpenLDAP是轻型目录访问协议(Lightweight Directory Access Protocol,LDAP)的自由和开源的实现,在其OpenLDAP许可证下发行,并已经被包含在众多流行的Linux发行版中。

二、OpenLDAP的安装

1.yum方式安装

安装命令如下:

yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools

yum方式安装
查看OpenLDAP版本:

slapd -VV

在这里插入图片描述

2.配置OpenLDAP

2.1 配置OpenLDAP管理员密码

配置管理员密码:

slappasswd 

生成管理员密码
输入新密码(本测试采用123456){SSHA}gwlCFS0IHvoj5Sgu9ZbqOx8zpQPYPC+P为输生成的管理密文密码
保存加密后的密码字段,配置文件中会使用到

2.2 修改olcDatabase={2}hdb.ldif文件

修改olcDatabase={2}hdb.ldif文件:cn=root中的root表示OpenLDAP管理员的用户名,而olcRootPW表示OpenLDAP管理员的密码。

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

修改后内容

olcSuffix: dc=test,dc=com
olcRootDN: cn=root,dc=test,dc=com
olcRootPW: 密码的密文

注意:密码的密文前面为tab键,不要使用空格
在这里插入图片描述

2.2 修改olcDatabase={1}monitor.ldif文件

修改olcDatabase={1}monitor.ldif文件

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

修改后内容,如下:

olcAccess: {0}to * by dn.base=”gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth” read by dn.base=”cn=root,dc=test,dc=com” read by * none

在这里插入图片描述

验证OpenLDAP的基本配置

slaptest -u

在这里插入图片描述

启动OpenLDAP服务

systemctl enable slapd
systemctl start slapd
systemctl status slapd

在这里插入图片描述

验证端口,OpenLDAP默认监听的端口是389

netstat -antup | grep 389

在这里插入图片描述

3.配置OpenLDAP数据库

OpenLDAP默认使用的数据库是BerkeleyDB,/var/lib/ldap/就是BerkeleyDB数据库默认存储的路径。

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap -R /var/lib/ldap
chmod 700 -R /var/lib/ldap
ll /var/lib/ldap/

在这里插入图片描述

4.导入基本Schema


ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/core.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/collective.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/corba.ldif 
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/duaconf.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/dyngroup.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/java.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/misc.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/openldap.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/pmi.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif

在这里插入图片描述

5.修改migrate_common.ph文件

migrate_common.ph文件主要是用于生成ldif文件使用,修改migrate_common.ph文件:

vim /usr/share/migrationtools/migrate_common.ph +71

修改后内容如下:

$DEFAULT_MAIL_DOMAIN = “ilanni.com”;
$DEFAULT_BASE = “dc=ilanni,dc=com”;
$EXTENDED_SCHEMA = 1;

在这里插入图片描述

6.添加用户及用户组

默认情况下OpenLDAP是没有普通用户的,但是有一个管理员用户。管理用户就是前面我们刚刚配置的root。

现在我们把系统中的用户,添加到OpenLDAP中。为了进行区分,我们现在新加两个用户ldapuser1和ldapuser2,和两个用户组ldapgroup1和ldapgroup2,如下:

添加用户组,使用如下命令:

groupadd ldapgroup1
groupadd ldapgroup2

添加用户并设置密码,使用如下命令:

useradd -g ldapgroup1 ldapuser1
useradd -g ldapgroup2 ldapuser2
echo '123456' | passwd --stdin ldapuser1
echo '123456' | passwd --stdin ldapuser2

在这里插入图片描述

把刚刚添加的用户和用户组提取出来,这包括该用户的密码和其他相关属性:

grep ":10[0-9][0-9]" /etc/passwd > /root/users
grep ":10[0-9][0-9]" /etc/group > /root/groups
cat users
cat groups

在这里插入图片描述

根据上述生成的用户和用户组属性,使用migrate_passwd.pl文件生成要添加用户和用户组的ldif:

/usr/share/migrationtools/migrate_passwd.pl /root/users > /root/users.ldif
/usr/share/migrationtools/migrate_group.pl /root/groups > /root/groups.ldif
cat users.ldif
cat groups.ldif

在这里插入图片描述
在这里插入图片描述

7.导入用户及用户组到OpenLDAP数据库

vim /root/base.ldif
dn: dc=test,dc=com
o: test com
dc: test
objectClass: top
objectClass: dcObject
objectclass: organization

dn: cn=root,dc=test,dc=com
cn: root
objectClass: organizationalRole
description: Directory Manager

dn: ou=People,dc=test,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit

dn: ou=Group,dc=test,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit

在这里插入图片描述

导入基础数据库、导入用户到数据库,导入用户组到数据库

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

在这里插入图片描述

查看BerkeleyDB数据库文件

ll /var/lib/ldap/

在这里插入图片描述

8.查询OpenLDAP的相关信息

查询OpenLDAP全部信息:

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

在这里插入图片描述

查询添加的OpenLDAP用户信息:

ldapsearch -LLL -x -D 'cn=root,dc=test,dc=com' -w "123456" -b 'dc=test,dc=com' 'uid=ldapuser1'

查询添加的OpenLDAP用户组信息:

ldapsearch -LLL -x -D 'cn=root,dc=ilanni,dc=com' -w "123456" -b 'dc=ilanni,dc=com' 'cn=ldapgroup1'

在这里插入图片描述

9.把OpenLDAP用户加入到用户组

在OpenLdap中添加组的功能,所以需要添加memberOf功能.

9.1 新建文件memberof_load_configure.ldif

在/root目录下新建文件memberof_load_configure.ldif:

dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulepath: /usr/lib64/openldap
olcModuleload: {0}memberof.la

dn: olcOverlay={0}memberof,olcDatabase={2}hdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: olcConfig
objectClass: top
olcOverlay: {0}memberof

在这里插入图片描述

 ldapadd -Q -Y EXTERNAL -H ldapi:/// -f memberof_load_configure.ldif

在这里插入图片描述

说明:上面的参数请根据实际情况修改(比如32的系统的话olcModulepath为/usr/lib/openldap)
dn: cn=module{0},cn=config 如果/etc/openldap/slapd.d/cn=config目录下已经存在cn=module{0}.ldif 文件的话,你就需要修改 module后面的数字了
dn: olcOverlay={0}memberof,olcDatabase={2}bdb,cn=config 这行中 如果上述目录中没有olcDatabase={2}bdb.ldif文件就把 olcDatabase={2}bdb改成olcDatabase={2}hdb

9.2 测试添加一个group

在/root目录下新建文件 addgroup.ldif:

dn: cn=gitlab,ou=Group,dc=test,dc=com
objectClass: top
objectClass: groupOfNames
cn: gitlab
member: uid=testuser,ou=People,dc=test,dc=com

在这里插入图片描述

ldapadd -x -W -D "cn=root,dc=test,dc=com" -f addgroup.ldif

在这里插入图片描述

10. 使用ldapadmin工具查看

工具下载路径
在这里插入图片描述

其中host填写OpenLDAP的主机地址,port填写OpenLDAP的监听端口,base填写的OpenLDAP的DN。

在Account部分中的Username填写的是管理员,password填写的是管理员的密码。

注意:Username部分不像,我们平时使用的系统一样填写一个root,在此我们要填写完整的RDN。
在这里插入图片描述

参考连接:
主要参考此文章,致敬烂泥行天下
部分内容经测试后采用此篇内容实现

三、OpenLDAP的卸载

1.停止openldap

systemctl stop slapd
systemctl disable slapd

停止openldap

2.卸载

yum -y remove openldap-servers openldap-clients

卸载OpenLDAP

3.删除残留文件

rm -rf /var/lib/ldap

4.删除ldap用户及组

userdel ldap
userdel 曾创建的其他ldap相关用户
groupdel 曾创建的其他ldap相关组

注意:若用户及组不删除干净会影响后面的重装。

5.删除openldap目录

rm -rf /etc/openldap

注意:此处删除前,需要将该路径下的certs文件夹备份留存,重装时,此文件夹不会再下载,由此会引起OpenLDAP重装后服务无法启动

参考连接:
卸载参考的文章

四、OpenLDAP的重装

重装时,OpenLDAP无法正常启动如何解决?
在这里插入图片描述
失败原因,/etc/openldap目录下缺失验证文件certs
在这里插入图片描述
解决方案:
将certs文件放入/etc/openldap目录下
在这里插入图片描述

五、其他命令

1.删除用户

ldapdelete -x -D "cn=Manager,dc=clustertech,dc=com" -w your_passwd "uid=test,ou=People,dc=clustertech,dc=com"
  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值