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 <,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.重装无法启动见图

openLdap2.4.44的安装部署_第1张图片

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

3.卸载之后重启出现
openLdap2.4.44的安装部署_第2张图片

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<

执行: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<{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 <,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<,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<,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<{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查询

你可能感兴趣的:(运维安装,运维,linux,centos)