一.环境
组件名称 | 版本 | IP地址 |
---|---|---|
OpenLDAP | 2.4.4 | 192.168.48.132 |
berkeley-db | 5.1.29 | 192.168.48.132 |
ldapadmin |
二.软件获取
OpenLDAP
OpenLDAP 官网下载地址:http://www.openldap.org/software/download/
OpenLDAP 2.4.44:ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.44.tgz
BDB
berkeley-db-5.1.29 (OpenLDAP**当前与6.x版本不兼容,READEME中明确写出兼容4.4-4.8或5.0-5.1)**:
http://download.oracle.com/berkeley-db/db-5.1.29.tar.gz
LDAP Administrtor
ldapadmin 2015.2:
官网下载地址:http://www.ldapbrowser.com/download.htm
64-bit:http://softerra-downloads.com/ldapadmin/ldapadmin-4.13.16704.0-x64-eng.msi
三.准备
- 关闭selinux;
- 打开防火墙tcp 389 / 636端口。
tcp 389 是openldap 明文传输端口,tcp 636是ssl加密传输的端口。
centos7默认自带firewalld服务,可以停用之后安装iptables。
四.安装OpenLDAP
4.1 依赖包
1 | 涉及libtool-ltdl与libtool-ltdl-devel,如不安装,在编译时报错:configure: error: could not locate libtool ltdl.h |
4.2 安装BDB
1 | 必须在解压包的build_unix目录中编译安装,否则会报错 |
4.3 更新lib库
1 | 保证在后面编译openldap时能找到lib和include下的库 |
4.4 安装OpenLDAP
安装依赖
1 | [root@localhost ~]# yum -y install openldap-devel |
1 | 编译选项可以通过./configure --help查看; |
4.5 设置可执行命令
1 | 对openldap客户端(bin)与服务器端(sbin)相关执行档添加软链接,也可以通过增加环境变量的方式设置 |
五.简单配置
5.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存放目录
5.2 配置rootdn密码(optional)
1 | 设置rootdn密码,这里设置为123456; |
5.3 主配置文件slapd.conf
1 | root@localhost openldap-2.4.44]# cd /work/admin/openldap-2.4.44/etc/openldap/ |
5.4 初始化OpenLADP(optional)
1 | 如果采用mdb做后端数据库,此步可忽略,DB_CONFIG是 bdb/hdb数据库使用的; |
5.5 启动OpenLADP
1 | 直接在后台工作; |
5.6 验证
1 | [root@localhost ~]# ldapsearch -x -b '' -s base'(objectclass=*)' |
六.简单使用(示例)
61 创建1个管理员账号
编辑ldif文件
1 | 注意与slapd.conf文件中保持一致,下面的命令同理, |
插入数据库
1 | [root@localhost ~]# ldapadd -x -D "cn=admin,dc=sys,dc=com" -W -f test.ldif |
可以看到账号已经加入到ldap中:
验证
1 | [root@localhost ~]# ldapsearch -x -b 'dc=sys,dc=com' '(objectClass=*)' |
6.2 创建1个具有部门属性的员工
编辑ldif文件
1 | 这里其实是先创建1个部门”it”,再在”it”部门创建了1个员工,实际上是两条命令 |
插入数据库
1 | [root@localhost ~]# ldapadd -x -D "cn=admin,dc=sys,dc=com" -W -f test2.ldif |
可以看到已经员工账号加入到ldap中:
验证
1 | [root@localhost ~]# ldapsearch -x -b 'dc=sys,dc=com' '(objectClass=*)' |
6.3 ldapadmin
运行ldapadmin
创建数据库文件
New—>New Profile,或者在主界面中Ctrl+P;
输入Profile名字,名字任意,下一步;
输入Host地址,Port默认为389(注意iptables是否开放389端口);
BaseDN处默认为空,标示在根节点上,如果不想显示根节点,可在后方下拉列表中选择具体的一级数据库,下一步;
选择”Other credenti”,
Mechanism选择”Simple”,
Princip处输入”cn=admin,dc=sys,dc=com”,
Password处填写相应密码,保存密码,点击”完成”即创建成功。
验证
其它ldapadmin管理工具:http://www.ldapadmin.org/download/index.html
七.附录
7.1 常见对象属性
LDAP为人员组织机构中常见的对象都设计了属性(比如commonName,surname)。下面有一些常用的别名:
属性名称 | 属性别名 | 语法 | 描述 | 值(举例) |
---|---|---|---|---|
commonName | cn | Directory String | 名子 | sean |
surname | sn | Directory String | 姓氏 | Chow |
organizationalUnitName | ou | Directory String | 单位(部门)名称 | IT_SECTION |
organization | o | Directory String | 组织(公司)名称 | linuxprobe |
telephoneNumber | Telephone Number | 电话号码 | 131******** | |
objectClass | 内置属性 | organizationa |