openLdap2.4.44的安装部署

openLdap2.4.44的安装部署

一、安装

1.从yum源拉取

yum install -y openldap openldap-clients openldap-servers

2.复制DB到指定目录

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

3.给目录授权

(如果没有ldap ,可以自己建一个ldap账号及ldap组,我直接执行他就自动创建了ldap账号)
chown -R ldap:ldap /var/lib/ldap/DB_CONFIG

4.启动、停止、查看命令

启动: systemctl start slapd
停止:systemctl stop slapd
查看: systemctl status slapd

5.密码加密为密文

slappasswd -s 123456

6.修改密码

自己新建一个目录用于自己准备修改openldap配置的数据,例如:在/home/lc目录下执行如下

cat > change_root_pwd.ldif << EOF
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}+5nY9MxHU0NvxHVoRFBq4bPy5jJBuxmr
EOF

注:这里olcRootPW的值就是上面slappasswd -s 123456得到的结果

7.导入配置,修改密码

ldapadd -Y EXTERNAL -H ldapi:/// -f change_root_pwd.ldif

8.导入必须得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
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/collective.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/corba.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/duaconf.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/dyngroup.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/java.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/misc.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/openldap.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/pmi.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif
9.初始化根节点

自己新建一个目录用于自己准备修改openldap配置的数据,例如:在/home/lc目录下执行如下

cat > init_root_dc.ldif <<EOF
dn: dc=sinux,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: sinux Company
dc: sinux
EOF

这里的dn: dc=sinux,dc=com一般是公司域名,可以自己随意设置,也就是初始登录的账号

执行导入: ldapadd -x -D cn=Manager,dc=pingan,dc=com -w 123456 -f init_root_dc.ldif

至此 安装启动设置初始化账号密码就完成了,可以使用ApacheDirectoryStudio 来连接openldap了

目录介绍:
数据目录:/var/lib/ldap
配置目录:/etc/openldap/slapd.d
la文件目录: /usr/lib64/openldap
schema 目录:/etc/openldap/schema

二、卸载

1.停止openldap

systemctl stop slapd

2.执行yum卸载

yum -y remove openldap-servers openldap-clients

3.删除目录及用户、用户组

rm -rf /var/lib/ldap
userdel ldap
groupdel ldap

4.删除 /etc/openldap/下的指定内容

cd /etc/openldap/
rm -rf check_password.conf ldap.conf schema slapd.d
注意:不要删除certs
至此卸载就完成了

三、卸载后踩坑笔记

1.卸载后出现yum不可用

卸载后发现yum不可用,此时千万不要断开连接,否则连不上了,只能重装系统了
原因:liblber-2.4.so.2.10.7libldap-2.4.so.2.10.7 被删除了
解决办法:提前备份liblber-2.4.so.2.10.7 libldap-2.4.so.2.10.7文件(这两个文件位于/usr/lib64/目录下),并重新复制到/usr/lib64目录下
添加软连接:
ln -s /usr/lib64/libsasl2.so.3 /usr/lib64/libsasl2.so.2
ln -s /usr/lib64/liblber-2.4.so.2.10.7 /usr/lib64/liblber-2.4.so.2
ln -s /usr/lib64/libldap-2.4.so.2.10.7 /usr/lib64/liblber-2.4.so.2

2.重装无法启动见图

在这里插入图片描述

原因: /etc/openldap目录下缺失验证文件 certs
解决办法:将certs文件放入/etc/openldap目录下(安装后/etc/openldap有此文件夹,可提前备份),重启

3.卸载之后重启出现
在这里插入图片描述

Please note the extracted key file will not be protected with a P……ssions

原因:是权限问题
解决办法:
chown -R ldap. /etc/openldap
chown -R ldap. /var/lib/ldap

四、创建管理域

自己新建一个目录用于自己准备修改openldap配置的数据,例如:在/home/lc目录下执行如下

cat > init_domain_and_admin.ldif << EOF
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=sinux,dc=com" read by * none

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=sinux,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=sinux,dc=com

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}sJfMZ0uptc8Hmh5lLDsKVmnpOEDrdfOC

dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=Manager,dc=sinux,dc=com" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=sinux,dc=com" write by * read
EOF

注:olcRootPW是生成的密码,cn=Manager,dc=sinux,dc=com是管理员账号,dc=sinux是自己随意设置,一般设为公司域名

执行命令,修改配置:ldapadd -Q -Y EXTERNAL -H ldapi:/// -f init_domain_and_admin.ldif

五、日志配置

5.1 系统日志

查询系统日志: slapd -d ?

查看系统日志级别 cat /etc/openldap/slapd.d/cn\=config.ldif |grep -i log

创建目录

mkdir -p /var/log/slapd
touch /var/log/slapd/slapd.log
chmod 755 /var/log/slapd
chown -R ldap:ldap /var/log/slapd
echo "local4.* /var/log/slapd/slapd.log" >> /etc/rsyslog.conf
systemctl restart rsyslog

设置日志级别
在/home/lc目录下执行如下

cat > set_log_level.ldif<<EOF
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: 31
EOF

执行:ldapmodify -Y EXTERNAL -H ldapi:/// -f set_log_level.ldif

查看系统日志 tailf /var/log/slapd/slapd.log

5.2 审计日志
1.创建目录和文件及授权
mkdir -p /var/log/slapd
touch /var/log/slapd/audit.log
chmod 755 /var/log/slapd
chown -R ldap:ldap /var/log/slapd
2.加载模块

在/home/lc目录下执行如下

cat >add_auditlog.ldif<<EOF
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: {3}auditlog

dn: olcOverlay=auditlog,olcDatabase={2}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcAuditLogConfig
olcAuditlogFile: /var/log/slapd/auditlog.log
EOF

执行: ldapadd -Q -Y EXTERNAL -H ldapi:/// -f add_auditlog.ldif

查看日志: tailf /var/log/slapd/audit.log

六、主从同步配置(syncprov模式)

6.1 MASTER的配置

自己新建一个目录用于自己准备修改openldap配置的数据,例如:在/home/lc目录下执行如下

cat > rpuser.ldif <<EOF
dn: uid=repl,dc=sinux,dc=com
objectClass: simpleSecurityObject
objectClass: account
uid: repl
description: Replication User
userPassword: 123456
EOF

导入:ldapadd -x -w 123456 -D "cn=Manager,dc=sinux,dc=com" -f rpuser.ldif

注意:这里用的是自己上面设置的账号密码

继续在/home/lc目录下执行如下

cat > syncprov_mod.ldif<<EOF
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: syncprov.la
EOF

执行导入:ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov_mod.ldif

继续在/home/lc目录下执行如下

cat > syncprov.ldif<<EOF
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100
EOF

执行导入:ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif

6.2 slave的配置

继续在/home/lc目录下执行如下

cat > syncrepl.ldif<<EOF
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
  provider=ldap://192.168.10.128:389/
  bindmethod=simple
  binddn="uid=repl,dc=pingan,dc=com"
  credentials=123456
  searchbase="dc=pingan,dc=com"
  scope=sub
  schemachecking=off
  type=refreshAndPersist
  attrs="*,+"
  retry="60 10 300 +"
  interval=00:00:05:00
EOF

执行:ldapmodify -Y EXTERNAL -H ldapi:/// -f syncrepl.ldif

至此:主从配置就完成了

6.3 测试主从

继续在/home/lc目录下执行如下:vim ldaptest.ldif

dn: uid=ldaprptest,ou=People,dc=sinux,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: ldaprptest
uid: ldaprptest
uidNumber: 9988
gidNumber: 100
homeDirectory: /home/ldaprptest
loginShell: /bin/bash
gecos: LDAP Replication Test User
userPassword: {crypt}x
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7

在Master导入
ldapadd -x -w 123456 -D "cn=Manager,dc=sinux,dc=com" -f ldaptest.ldif

在Master查看
ldapsearch -x cn=ldaprptest -b dc=sinux,dc=com

去SLAVE查询
ldapsearch -x cn=ldaprptest -b dc=sinux,dc=com

如果有数据则主从同步成功,当然也可以使用Apache Directory Studio在master新建数据去slave查询

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是在CentOS 7上部署OpenLDAP的详细步骤: 1. 安装OpenLDAP和相关软件包 在终端中执行以下命令: ``` sudo yum install openldap openldap-servers openldap-clients migrationtools ``` 2. 配置OpenLDAP安装OpenLDAP和相关软件包后,需要进行一些配置。首先,将OpenLDAP服务器配置文件备份: ``` sudo cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG sudo chown ldap:ldap /var/lib/ldap/DB_CONFIG ``` 然后,编辑OpenLDAP服务器配置文件: ``` sudo vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif ``` 添加以下内容: ``` olcSuffix: dc=example,dc=com olcRootDN: cn=admin,dc=example,dc=com olcRootPW: {SSHA}password ``` 其中,“dc=example,dc=com”是您的域名,“cn=admin,dc=example,dc=com”是管理员用户名,“password”是管理员密码。请根据您的需要进行更改。 3. 生成SSL证书 如果您需要使用SSL加密通信,则需要生成SSL证书。以下是生成自签名SSL证书的步骤: ``` sudo openssl req -new -x509 -nodes -out /etc/openldap/certs/myldap.crt -keyout /etc/openldap/certs/myldap.key -days 365 ``` 在运行该命令时,您需要输入一些信息,如国家、州、城市等。根据您的需要进行更改。 4. 设置ACL 打开OpenLDAP的ACL配置文件: ``` sudo vi /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif ``` 添加以下内容: ``` olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=externa l,cn=auth" manage by * none olcAccess: {1}to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=example, dc=com" write by anonymous auth by self write by * none olcAccess: {2}to * by dn="cn=admin,dc=example,dc=com" write by * read ``` 5. 导入示例数据 您可以使用migrationtools脚本将示例数据导入OpenLDAP服务器中。首先,将示例配置文件复制到适当的位置: ``` sudo cp /usr/share/migrationtools/migrate_common.ph /usr/share/migrationtools/migrate_common.ph.orig sudo cp /usr/share/migrationtools/migrate_passwd.pl /usr/share/migrationtools/migrate_passwd.pl.orig ``` 然后,编辑migrate_common.ph文件,将以下内容添加到文件末尾: ``` $DEFAULT_MAIL_DOMAIN = 'example.com'; $DEFAULT_BASE = 'dc=example,dc=com'; ``` 接下来,运行migrate_passwd.pl脚本: ``` sudo /usr/share/migrationtools/migrate_passwd.pl /etc/passwd /root/users.ldif ``` 最后,将生成的LDIF文件导入到OpenLDAP服务器中: ``` sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /root/users.ldif ``` 6. 启动OpenLDAP服务 执行以下命令启动OpenLDAP服务: ``` sudo systemctl start slapd ``` 7. 测试OpenLDAP服务 您可以使用ldapsearch命令测试OpenLDAP服务是否正常运行。以下是测试命令的示例: ``` sudo ldapsearch -x -b 'dc=example,dc=com' -D 'cn=admin,dc=example,dc=com' -W ``` 在运行该命令时,您需要输入管理员密码。如果一切正常,您应该能够看到一些输出。 这就是在CentOS 7上部署OpenLDAP的详细步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神雕大侠mu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值