ldap安装部署

二龙3年前技术文章1243

一、关闭selinux和防火墙

sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config 
setenforce 0
systemctl stop firewalld
systemctl disable firewalld

二、yum安装ldap

部署安装包

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

查看版本OpenLdap版本

slapd -VV

图片1.png

修改配置文件

配置管理员密码,将密码设置为Admin258258,执行加密后将密码保存下来,放在配置文件olcDatabase={2}hdb.ldif的olcRootPW值中(该值需要添加),修改对应的olcSuffix、olcRootDN。

slappasswd -s  Admin258258
vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif

图片2.png

修改olcDatabase={1}monitor.ldif文件中的olcAccess值

vi "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"

图片3.png

验证配置文件是否正确,出现succeed表明文件正确。

slaptest -u

checksum error可忽略

图片4.png

启动查看服务

systemctl enable slapd
systemctl start slapd
systemctl status slapd

查看监听端口

netstat -anpl|grep 389

配置OpenLDAP数据库

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/

导入基本Schema

ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif

配置openldap基础的数据库

vim base.ldif

添加如下内容后导入

dn: dc=HADOOP,dc=NBGTEST,dc=LOCAL
o: HADOOP NBGTEST LOCAL
dc: HADOOP
objectClass: top
objectClass: dcObject
objectclass: organization

dn: cn=Manager,dc=HADOOP,dc=NBGTEST,dc=LOCAL
cn: Manager
objectClass: organizationalRole
description: Directory Manager

dn: ou=People,dc=HADOOP,dc=NBGTEST,dc=LOCAL
ou: People
objectClass: top
objectClass: organizationalUnit

dn: ou=Group,dc=HADOOP,dc=NBGTEST,dc=LOCAL
ou: Group
objectClass: top
objectClass: organizationalUnit
ldapadd -x -w "Admin258258" -D "cn=Manager,dc=HADOOP,dc=NBGTEST,dc=LOCAL"  -f /etc/openldap/base.ldif

开启OpenLDAP日志访问功能

默认情况下OpenLDAP是没有启用日志记录功能的,但是在实际使用过程中,我们为了定位问题需要使用到OpenLDAP日志。
新建日志配置ldif文件loglevel.ldif,如下:

vim loglevel.ldif
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: -1

导入到OpenLDAP中,如下:

ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/loglevel.ldif

重启OpenLDAP服务

systemctl restart slapd

修改rsyslog配置文件/etc/rsyslog.conf,末尾添加

local4.* /var/log/slapd.log

重启rsyslog服务

systemctl restart rsyslog

安装和配置LDAP管理工具PHPldapadmin

yum -y install httpd php php-ldap php-gd php-mbstring php-pear php-bcmath php-xml
yum -y install epel-release
yum --enablerepo=epel -y install phpldapadmin

修改配置文件

vim /etc/phpldapadmin/config.php
#397行取消注释,398行添加注释
$servers->setValue('login','attr','dn');
// $servers->setValue('login','attr','uid');
vi /etc/httpd/conf.d/phpldapadmin.conf
#
#  Web-based tool for managing LDAP servers
#

Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs

<Directory /usr/share/phpldapadmin/htdocs>
  <IfModule mod_authz_core.c>
    # Apache 2.4
    #Require local
    Require all granted
  </IfModule>
  <IfModule !mod_authz_core.c>
    # Apache 2.2
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
  </IfModule>
</Directory>

设置开机自启并启动httpd,如果之前有启动过,进行restart重启。

systemctl enable httpd
systemctl start httpd

登录web页面

http://10.188.0.2/phpldapadmin/cmd.php

账号:cn=Manager,dc=HADOOP,dc=NBGTEST,dc=LOCAL

密码:Admin258258

图片5.png


相关文章

REPMGR-PG高可用搭建(一)

REPMGR-PG高可用搭建(一)

PG高可用对比数据库复制的术语和定义这些术语和定义应该有助于讨论复制。在与其他Postgres开发人员进行了大量讨论之后,我编译了它们,但是这些定义应该是普遍可用的,并且也应该适用于其他RDBMS。复...

mysql查线上数据注意数据库的隔离级别

数据库的隔离级别定义了一个事务可能对其他并发事务的可见性,以及它们可能对数据库的影响。隔离级别的选择影响着并发性能和数据的一致性,不同的隔离级别能够防止不同程度的并发问题,如脏读(Dirty Read...

开源大数据集群部署(十)Ranger usersync部署

开源大数据集群部署(十)Ranger usersync部署

ranger usersync部署Ø 解压包[root@hd1.dtstack.com ranger]# pwd /opt/ranger [root@hd1.dtstack.com ranger]...

Flink sql 集成hive metastore对接s3存储

1、hive metastore使用s3如何适配1、在flink conf目录中添加core-site.xml和hive-site.xml<?xml version="1.0" encoding...

flink集成iceberg访问hive catalog任务报错

flink集成iceberg访问hive catalog任务报错

问题现象flink在集成iceberg后访问hive catalog任务无法执行,但flink自身任务正常,iceberg表任务无法执行,报错如下:Caused by: java....

Golang 垃圾回收

Golang 垃圾回收

1、标记清除算法Golang 使用标记清除算法作为垃圾回收器的一部分。标记清除算法是一种常见的垃圾回收算法,它通过标记和清除未被引用的对象来回收内存空间。Golang 中,垃圾回收器会定期扫描堆空间,...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。