此文只是在配置Hive、Impala、HUE和HDFS时需要用到OpenLDAP,故简要的记录了一下有关OpenLDAP相关的内容而已。
OpenLDAP 安装
1 | yum -y install openldap openldap-servers openldap-clients openldap-devel compat-openldap |
OpenLDAP 配置
基础信息
/etc/openldap/slapd.conf
: OpenLDAP的主配置文件,记录根域信息,管理员名称,密码,日志,权限等/etc/openldap/slapd.d/
: 根据slapd.conf配置信息生成的文件/etc/openldap/schema/
: OpenLDAP的schema存放目录/var/lib/ldap/
: OpenLDAP数据目录/usr/share/openldap-servers/
: OpenLDAP模板文件389端口
: 默认监听端口(明文)636端口
: 密文监听端口
OpenLDAP配置
复制模板配置文件
1
2
3# 复制模板配置文件
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf修改dc
将
dc
中的your_domain
修改为自定义的dc
默认cn
为Manager
,此处修改成cn=admin
1
2
3
4
5
6
7# slapd.conf
# enable server status monitoring (cn=monitor)
database monitor
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
by dn.exact="cn=admin,dc=your_domain,dc=com" read
by * none1
2# slapd.conf
suffix "dc=your_domain,dc=com"1
2# slapd.conf
rootdn "cn=admin,dc=your_domain,dc=com"修改LDAP管理员密码
使用
slappasswd
命令生成密码1
2
3
4$> slappasswd
New password:
Re-enter new password:
{SSHA}bFTucfZs/ZoWasy4qkZ1JDrggQqt76Oi1
2# slapd.conf
rootpw {SSHA}bFTucfZs/ZoWasy4qkZ1JDrggQqt76Oi设置目录权限
1
chown -R ldap:ldap /var/lib/ldap/
启动OpenLDAP
1
/etc/init.d/slapd start
测试配置文件正确性
1
2
3# 第一次测试需要先启动OpenLDAP
# /etc/init.d/slapd start
slaptest -f /etc/openldap/slapd.conf删除旧配置、重新生成配置
修改配置文件
slapd.conf
后都需要移除旧有配置重新生成新配置1
2
3
4
5
6# 备份移除旧配置文件
mv /etc/openldap/slapd.d/* /tmp/
# 测试配置文件并重新生成配置
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/ && chown -R ldap:ldap /etc/openldap/slapd.d/
# 查看新生成配置
egrep 'olcSuffix|olcRootDN' /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif重启OpenLDAP
1
/etc/init.d/slapd restart
OpenLDAP开启日志
OpenLDAP添加配置
1
2
3# /etc/openldap/slapd.conf
loglevel 4095
#loglevel 256配置rsyslog
1
2# /etc/rsyslog.conf
local4.* /var/log/slapd/slapd.log创建日志目录
1
2mkdir /var/log/slapd
chown ldap:ldap /var/log/slapd/重启OpenLDAP & Rsyslog
1
2
3
4
5
6# Rsyslog
/etc/init.d/rsyslog restart
# OpenLDAP
rm -rf /etc/openldap/slapd.d/*
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/ && chown -R ldap:ldap /etc/openldap/slapd.d/
/etc/init.d/slapd restart
导入管理员信息
1 | # root.ldif |
1 | ldapadd -x -W -D "cn=admin,dc=your_domain,dc=com" -f root.ldif |
新增组
1 | # ou.ldif |
1 | ldapadd -x -W -D "cn=admin,dc=your_domain,dc=com" -f ou.ldif |
新增用户(样例)
1 | # user.ldif |
1 | # 创建用户 |
OpenLDAP 常用操作
ldapsearch 搜索
-b: 指定查找的节点
-D: bindDN 指定查找的DN
-v: 详细输出
-x: 使用简单的认证 不使用任何加密算法
-W: 在查询时 会提示输入密码 如果不想输入密码 使用-w password
-h: 指定LDAP主机
-H: LDAP URL
-p: 指定OpenLDAP的监听端口 默认389 加密为635
-LLL: 禁止输出与过滤条件不匹配的信息
1 | # 管理员帐号admin |
ldapadd 新增
-x: 进行简单认证
-D: 用来绑定服务器的DN
-h: 目录服务的地址
-w: 绑定DN的密码
-f: 使用ldif文件进行条目添加的文件
1 | ldapadd -x -W -D "cn=admin,dc=your_domain,dc=com" -f <ldif_file> |
脚本添加用户
1 | #! /bin/bash |
ldapdelete 删除
-c: 持续操作模式 在操作过程中出现错误 也会进行后续相关操作
-D: 指定查找的DN
-n: 显示正在进行的相关操作 但不实际修改数据 一般用于测试
-x: 使用简单的认证
-f: 使用目标文件名作为命令的输入
-W: 提示输入密码
-w: passwd
-y: passwdfile 可以将密码写入文件进行验证
-r: 递归删除
-h: HOST
-H: LDAP-URL
-p: port
1 | ldapdelete -W -D "cn=admin,dc=your_domain,dc=com" -v "uid=mogl,ou=users,dc=your_domain,dc=com" |
高可用设置
OpenLDAP 主主配置
主主两台OpenLDAP中serverID
必须一致,rid
必须不一样
1 | # 开启模块 |
附录
OpenLDAP配置文件
1 | include /etc/openldap/schema/corba.schema |
OpenLDAP主主配置文件
1 | ### **222** |