LDAP配置与安装

LDAP的原理知识参考:https://www.cnblogs.com/wilburxu/p/9174353.html

一、安装LDAP

1、安装OpenLDAP及相关依赖包

[root@nano ~]# yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtools

2、查看OpenLDAP版本

[root@nano ~]# slapd -VV

3、配置OpenLDAP数据库

# OpenLDAP默认使用的数据库是BerkeleyDB,/var/lib/ldap/就是BerkeleyDB数据库默认存储的路径:
[root@localhost cn=config]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

4、设置OpenLDAP的管理员密码

(格式——slappasswd -s [password])

[root@nano ~]# slappasswd -s huawei
{SSHA}TlGs09uMOeFa5UJNhy1LB6cGW9i8N+tt		 	# 记住该密码,下面配置要用

5、修改配置文件

定位到/etc/openldap/slapd.d/cn=config中,修改相关配置文件{1}monitor.ldif、{2}hdb.ldif、{-1}frontend.ldif:

[root@nano ~]# cd /etc/openldap/slapd.d/cn\=config
[root@nano cn=config]# ll
> 总用量 24 drwxr-x---. 2 ldap 4096 32 10:14 cn=schema
> -rw-------. 1 ldap  378 32 10:14 cn=schema.ldif
> -rw-------. 1 ldap  513 32 10:14 olcDatabase={0}config.ldif
> -rw-------. 1 ldap ldap  443 32 10:14 olcDatabase={-1}frontend.ldif
> -rw-------. 1 ldap ldap  562 32 10:14 olcDatabase={1}monitor.ldif
> -rw-------. 1 ldap ldap  609 32 10:14 olcDatabase={2}hdb.ldif

5.1. 修改{2}hdb.ldif文件

[root@nano cn=config]# vim olcDatabase\=\{2\}hdb.ldif
  • 修改域信息: olcSuffix: dc=ss,dc=com olcRootDN: cn=admin,dc=ss,dc=com
  • 定位到最后添加一行密码: olcRootPW: {SSHA}dXgO/Ipy5SQiKFZ0u7m79Xo7uzKIr038
  • 注意:其中cn=admin中的admin表示OpenLDAP管理员的用户名,dc为ldap的服务器域名(dc=ss是自行创建的服务器域名),olcRootPW表示OpenLDAP管理员的密码

5.2. 修改{1}monitor.ldif文件

[root@nano cn=config]# vim olcDatabase\=\{1\}monitor.ldif

5.3. 修改{-1}frontend.ldif文件

[root@localhost cn=config]# vim olcDatabase\=\{-1\}frontend.ldif
# 权限设置,指定用户密码只能由本人和管理员能更改。添加如下两行代码:
	olcAccess: {0}to attrs=userPassword by self write by anonymous auth by users none
	olcAccess: {1}to * by * read

6、验证LDAP的基本配置

# 若出现succeeded就表示成功了
[root@nano cn=config]# slaptest -u

7、修改LDAP文件权限、端口(不强求)

[root@localhost cn=config]# chown -R ldap:ldap /var/lib/ldap/
[root@localhost cn=config]# chown -R ldap:ldap /etc/openldap/

# OpenLDAP默认监听的端口是389,我们可在/etc/sysconfig/slapd文件中修改其监听端口,如下修改为4567端口
[root@localhost cn=config]# vim /etc/sysconfig/slapd
SLAPD_URLS= "ldapi://0.0.0.0:4567/ldap://0.0.0.0:4567/"

8、启动OpenLDAP服务

[root@localhost cn=config]# systemctl enable --now slapd		# 设置slapd服务开机自启,并启动

# 验证端口状态
# 前提是要安装net-tools才能使用netstat命令
[root@localhost cn=config]# netstat -antup | grep 389

在这里插入图片描述

9、导入基本Schema

导入基本Schema,使用如下命令:

[root@nano cn=config]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
[root@nano cn=config]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
[root@nano cn=config]# ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

10、修改migrate_common.ph文件

# migrate_common.ph文件主要是用于生成ldif文件使用,修改migrate_common.ph文件,如下:
[root@localhost cn=config]# vim /usr/share/migrationtools/migrate_common.ph +71

11、配置LDAP基础数据库

# 配置如下信息(修改对应的dc数据值):
[root@localhost ~]# mkdir /root/openldap
[root@localhost ~]# vim openldap/base.ldif
#管理员信息
dn: dc=ss,dc=com
o: ss com
dc: ss
objectClass: top
objectClass: dcObject
objectclass: organization

dn: cn=admin,dc=ss,dc=com
cn: admin
objectClass: organizationalRole
description: Directory Manager

#基本分组
dn: ou=People,dc=ss,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit

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

12、导入基础数据库

# -x 进行简单认证、-D 用来绑定服务器的DN、-w 绑定管理员的密码(最开始设置的)
[root@localhost ~]# ldapadd -x -D 'cn=admin,dc=ss,dc=com' -w '123456' -f /root/openldap/base.ldif

13、添加用户及用户组

默认情况下OpenLDAP是没有普通用户的,只有一个管理员用户(最开始配置的)

[root@localhost ~]# groupadd ldapgroup1
[root@localhost ~]# groupadd ldapgroup2
[root@localhost ~]# useradd -g ldapgroup1 ldapuser1
[root@localhost ~]# useradd -g ldapgroup2 ldapuser2
[root@localhost ~]# echo '123456' | passwd --stdin ldapuser1
[root@localhost ~]# echo '123456' | passwd --stdin ldapuser2

# 提取刚添加的用户和用户组相关信息
[root@localhost ~]# grep ":10[0-9][0-9]" /etc/passwd > /root/openldap/users
[root@localhost ~]# grep ":10[0-9][0-9]" /etc/group > /root/openldap/groups
[root@localhost ~]# cat openldap/users
[root@localhost ~]# cat openldap/groups

# 使用migrate_passwd.pl文件生成要添加用户和用户组的ldif
[root@localhost ~]# /usr/share/migrationtools/migrate_group.pl /root/openldap/groups > /root/openldap/groups.ldif
[root@localhost ~]# /usr/share/migrationtools/migrate_passwd.pl /root/openldap/users > /root/openldap/users.ldif

# 导入用户及用户组到Ldap数据库
[root@localhost ~]# ldapadd -x -w '123456' -D 'cn=admin,dc=ss,dc=com' -f /root/openldap/groups.ldif
[root@localhost ~]# ldapadd -x -w '123456' -D 'cn=admin,dc=ss,dc=com' -f /root/openldap/users.ldif

把LDAP用户加入到用户组

# 尽管我们已经把用户和用户组信息,导入到OpenLDAP数据库中了。但实际上目前OpenLDAP用户和用户组之间是没有任何关联的
# 如果我们要把OpenLDAP数据库中的用户和用户组关联起来的话,我们还需要做另外单独的配置
[root@localhost ~]# cat > /root/openldap/add_user_to_groups.ldif << "EOF"
dn: cn=ldapgroup1,ou=Group,dc=ss,dc=com
changetype: modify
add: memberuid
memberuid: ldapuser1

dn: cn=ldapgroup2,ou=Group,dc=ss,dc=com
changetype: modify
add: memberuid
memberuid: ldapuser2
EOF
[root@localhost ~]# ldapadd -x -w '123456' -D 'cn=admin,dc=ss,dc=com' -f /root/openldap/add_user_to_groups.ldif

14、查询LDAP的相关信息

1》 查询LDAP全部信息

[root@localhost ~]# ldapsearch -x -b 'dc=ss,dc=com' -H ldap://127.0.0.1

2》 查询添加的LDAP用户组信息

[root@localhost ~]# ldapsearch -LLL -x -D 'cn=admin,dc=ss,dc=com' -w '123456' -b 'dc=ss,dc=com' 'cn=ldapgroup1'

3》 查询添加的LDAP用户信息

[root@localhost ~]# ldapsearch -LLL -x -D 'cn=admin,dc=ss,dc=com' -w '123456' -b 'dc=ss,dc=com' 'uid=ldapuser1'

15、开启OpenLDAP日志访问功能

默认情况下OpenLDAP是没有启用日志记录功能的,但是在实际使用过程中,我们为了定位问题需要使用到OpenLDAP日志

# 新建日志配置ldif文件,如下:
[root@localhost ~]# cat > /root/openldap/loglevel.ldif << EOF
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: stats
EOF
[root@localhost ~]# ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/openldap/loglevel.ldif

# 修改rsyslog配置文件,并重启rsyslog服务,如下:
[root@localhost ~]# cat >> /etc/rsyslog.conf << EOF
local4.* /var/log/slapd.log
EOF

# 重启服务
[root@localhost ~]# systemctl restart rsyslog
[root@localhost ~]# systemctl restart slapd

# 使用ldapuser1认证下
[root@localhost ~]# ldapwhoami -x -D uid=ldapuser1,ou=People,dc=ss,dc=com -w 123456

查看OpenLDAP日志,如下:

[root@localhost ~]# tail /var/log/slapd.log

到此,LDAP已配置完成。


二、安装PHPldapAdmin管理软件

1、安装

先安装Apache和PHP:

[root@localhost ~]# yum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml

再安装phpldapadmin:

[root@localhost ~]# yum -y install epel-release
[root@localhost ~]# yum --enablerepo=epel -y install phpldapadmin

2、修改配置文件

》修改config.php文件:

[root@nano cn=config]# vim /etc/phpldapadmin/config.php +397
> // 397行取消注释,398行添加注释 
> $servers->setValue('login','attr','dn'); 	
> // $servers->setValue('login','attr','uid');

》修改phpldapadmin.conf文件:

[root@nano cn=config]# vim /etc/httpd/conf.d/phpldapadmin.conf +11
> 	<IfModule mod_authz_core.c>
>  		# Apache 2.4 	
>  		Require local 	
>  		# 添加一行内容,指定可访问的ip段 或者输入:Require all granted 开放外网访问 	
>  		Require ip 192.168.77.0/24
>  </IfModule>

3、启动httpd

修改Apache的端口!一般来说80端口会被占用,所以需要改一下端口,如果不需要的可以跳过此步骤。

vim /etc/httpd/conf/httpd.conf 
将配置文件中的Listen 80 改成Listen 8081

启动httpd

[root@nano cn=config]# systemctl enable --now httpd

浏览器访问 phpldapadmin:

  • url: http://服务器地址:端口/phpldapadmin/
  • 用户名:cn=admin,dc=ss,dc=com
  • 密码:设定的管理员密码

Phpldap使用方法参考:https://blog.csdn.net/u010543388/article/details/107682769


三、使用LdapAdmin

该软件更容易创建用户组、用户和移动等


四、数据迁移

1、获取数据到指定文件

[root@nano cn=config]# ldapsearch -LLL -W -x -D "cn=admin,dc=ss,dc=com" -b "dc=ss,dc=com" > ldap_data_2023.ldif

如果公司有多个域,请将命令执行多次,修改命令中-b 后面的域名就行;
注意: 以上命令只适合数据量小的时候,数据量在10000以内可以这么做,如果超过了请就选择其他方法;

2、查看数据是否备份成功

[root@nano cn=config]# cat ldap_data_2023.ldif

3、插入数据

[root@nano cn=config]# ldapadd -x -D "cn=admin,dc=ss,dc=com" -w "你的密码" -f ldap_data_2023.ldif

若出现如下报错,则证明数据库中已有该条记录,需要到ldap_data_2023.ldif中删除,再继续导入即可
adding new entry "dc=test,dc=com"
ldap_add: Already exists (68)


五、卸载LDAP

1、停止openldap

[root@nano cn=config]# systemctl stop slapd
[root@nano cn=config]# systemctl disable slapd

2、卸载

[root@nano cn=config]# yum -y remove openldap-servers openldap-clients

3、删除残留文件

[root@nano cn=config]# rm -rf /var/lib/ldap

4、删除ldap用户

[root@nano cn=config]# userdel ldap

5、删除openldap目录

[root@nano cn=config]# rm -rf /etc/openldap

参考

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值