美文网首页
OpenLDAP编译安装及配置

OpenLDAP编译安装及配置

作者: 我是孟小鱼呀 | 来源:发表于2019-09-27 17:44 被阅读0次

一.安装环境

Server CentOS Linux release 7.6.1810 (Core)
Server IP 192.168.88.100

二.准备工作

  1. 关闭selinux;
  2. 打开防火墙tcp 389 / 636端口。
  3. 安装依赖包
yum install *ltdl* gcc gcc-c++ -y

三.安装OpenLDAP

1、 安装BDB

#必须在解压包的build_unix目录中编译安装,否则会报错
cd /opt #文件下载目录
wget http://download.Oracle.com/berkeley-db/db-5.1.29.tar.gz
tar -zxvf db-5.1.29.tar.gz
cd db-5.1.29/build_unix/
../dist/configure --prefix=/usr/local/berkeleydb-5.1.29
make
make install

2、更新lib库

#保证在后面编译openldap时能找到lib和include下的库
echo "/usr/local/berkeleydb-5.1.29/lib/" > /etc/ld.so.conf
ldconfig -v

3、安装OpenLDAP

#编译选项可以通过./configure --help查看;
cd /opt  #文件下载目录
wget ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.44.tgz
tar -zxvf openldap-2.4.44.tgz
cd openldap-2.4.44
./configure  
--prefix=/usr/local/openldap-2.4.44  
--enable-syslog  
--enable-modules  
--enable-debug  
--with-tls  
CPPFLAGS=-I/usr/local/berkeleydb-5.1.29/include/  
LDFLAGS=-L/usr/local/berkeleydb-5.1.29/lib/
make depend 
make
make test
make install

4、设置可执行命令

#对openldap客户端(bin)与服务器端(sbin)相关执行档添加软链接,也可以通过增加环境变量的方式设置
cd /usr/local/openldap-2.4.44
ln -s /usr/local/openldap-2.4.44/bin/* /usr/local/bin/
ln -s /usr/local/openldap-2.4.44/sbin/* /usr/local/sbin/

四.简单配置

1、 安装完成的openldap-2.4.44目录结构

openldap安装完成后相关目录承载的功能如下:

bin/ --客户端工具如ldapadd、ldapsearch
etc/ --包含主配置文件slapd.conf、schema、DB_CONFIG等
include/
lib/
libexec/ --服务端启动工具slapd
sbin/ --服务端工具如slappasswd
share/
var/ --bdb数据、log存放目录

2、配置rootdn密码(optional)

#设置rootdn密码,这里设置为123456;
#这样rootdn密码为密文方式,复制输出密文到主配置文件rootdn对应的位置即可,如果不想麻烦,可以忽略此步,在主配置文件中使用明文即可。
cd /usr/local/openldap-2.4.44/
slappasswd
#New password:
#Re-enter new password:
#{SSHA}6HNgV9LlxbcvhaJ7wccPbKDR4g7Evi90

3、主配置文件slapd.conf

cd /usr/local/openldap-2.4.44/etc/openldap/
vim slapd.conf

#schema默认只有core.schema,各级需要添加
6    include /usr/local/openldap-2.4.44/etc/openldap/schema/collective.schema
7    include /usr/local/openldap-2.4.44/etc/openldap/schema/corba.schema
8    include /usr/local/openldap-2.4.44/etc/openldap/schema/cosine.schema
9    include /usr/local/openldap-2.4.44/etc/openldap/schema/duaconf.schema
10    include /usr/local/openldap-2.4.44/etc/openldap/schema/dyngroup.schema
11    include /usr/local/openldap-2.4.44/etc/openldap/schema/inetorgperson.schema
12    include /usr/local/openldap-2.4.44/etc/openldap/schema/java.schema
13    include /usr/local/openldap-2.4.44/etc/openldap/schema/misc.schema
14    include /usr/local/openldap-2.4.44/etc/openldap/schema/nis.schema
15    include /usr/local/openldap-2.4.44/etc/openldap/schema/openldap.schema
16    include /usr/local/openldap-2.4.44/etc/openldap/schema/pmi.schema
17    include /usr/local/openldap-2.4.44/etc/openldap/schema/ppolicy.schema

#新增日志文件级别与路径,需要在编译时--enable-debug,否则日志文件输出,不影响调试模式;
28    loglevel    256
29    logfile    /usr/local/openldap-2.4.44/var/slapd.log

#修改域名及管理员账户名;
69    suffix        "dc=live400,dc=com"
70    rootdn        "cn=admin,dc=live400,dc=com"

#使用密文密码,即前面使用slappasswd生成的密文;
74    rootpw        {SSHA}6HNgV9LlxbcvhaJ7wccPbKDR4g7Evi90

4、初始化OpenLADP(optional)

cd /usr/local/openldap-2.4.44/var/openldap-data/
cp DB_CONFIG.example DB_CONFIG

5、启动OpenLADP

#直接在后台工作
/usr/local/openldap-2.4.44/libexec/slapd

#在前端工作,输出debug信息
[root@localhost ~]# /usr/local/openldap-2.4.44/libexec/slapd -d 256

6、验证

netstat -tunlp | grep 389
或者
ps -ef | grep slapd
如图示,说明openldap已经启动运行成功:
image.png

六.简单使用(示例)

1、创建1个管理员账号

(1)新建test.ldif文件

# 注意与slapd.conf文件中保持一致
vim test.ldif

dn: dc=live400,dc=com
objectclass: dcObject
objectclass: organization
o: live   # organization 组织(公司)名称

dc: live400
dn: cn=admin,dc=live400,dc=com
objectclass: organizationalRole
cn: admin  

(2)插入数据库,可以看到账号已经加入到ldap中:

ldapadd -x -D "cn=admin,dc=live400,dc=com" -W -f test.ldif
image.png

(3)验证

ldapsearch -x -b 'dc=live400,dc=com' '(objectClass=*)'
image.png

2、创建1个具有部门属性的员工

(1)新建test2.ldif文件

#这里其实是先创建1个部门”it”,再在”it”部门创建了1个员工
vim test2.ldif 

dn: ou=it,dc=live400,dc=com
ou: it
objectClass: organizationalUnit

dn: cn=test1,ou=it,dc=live400,dc=com
ou: it     # ou 单位(部门)名称
cn: test1  # cn 名字
sn: t1     # sn 姓氏
objectClass: inetOrgPerson  # objectClass 内置属性
objectClass: organizationalPerson

(2)插入数据库,可以看到已经员工账号加入到ldap中:

[root@localhost ~]# ldapadd -x -D "cn=admin,dc=live400,dc=com" -W -f test2.ldif
image.png

(3)验证

[root@localhost ~]# ldapsearch -x -b 'dc=live400,dc=com' '(objectClass=*)'
image.png

3、运行ldapadmin

# LDAP Administrtor下载地址 
http://softerra-downloads.com/ldapadmin/ldapadmin-4.13.16704.0-x64-eng.msi
(1)创建数据库文件:New—>New Profile,或者在主界面中Ctrl+P; image.png (2)输入Profile名字,名字任意,下一步; image.png (3)输入Host地址,Port默认为389(注意iptables是否开放389端口);BaseDN处默认为空,标示在根节点上,如果不想显示根节点,可在后方下拉列表中选择具体的一级数据库,下一步; image.png (4)选择"Other credenti",Mechanism选择"Simple",Princip处输入"cn=adminnnnn,dc=live400,dc=com",Password处填写相应密码,保存密码,点击"完成"即创建成功。 image.png image.png (5)验证。新加入的数据已经存在,也可以通过页面添加组织或者用户。 image.png

(6)现在状态是所有人都可以访问,为保障安全性,设置用户匿名登录。用户登录必须有账号密码才能登录成功。

# 编辑slapd.conf配置文件
cd /usr/local/openldap-2.4.44/etc/openldap/
vim slapd.conf
#打开access设置
 access to *
        by self write
        by users read
        by anonymous auth
客户端重新访问,显示失败信息。点击“Properties”,选择“Credentials”--“Other credentials”,输入账号密码进行登录。 image.png image.png image.png

相关文章

网友评论

      本文标题:OpenLDAP编译安装及配置

      本文链接:https://www.haomeiwen.com/subject/hfmmyctx.html