(二)openldap 单点服务安装

环境信息

Centos: 7.9
openldap: 2.4.44

1.配置文件

openldap 2.4开始可以使用动态配置文件,可以实时加载到内存中,不用重启服务。配置是向后兼容的,这里依然使用老配置文件/etc/openldap/slapd.conf作为主配置

2.安装服务

  yum install openldap  openldap-servers openldap-clients  -y
  #openladp 是ldap的规范协议
  #openldap-servers 是ldap服务端
  #openldap-clientss是ldap客户端

3.配置一下修改配置文件均为/etc/openldap/slapd.conf

3.1 启用slapd.conf为主配置
touch /etc/openldap/slapd.conf
mv /etc/openldap/slapd.d /etc/openldap/slapd.dbak
3.2 配置数据库
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown -R ldap:ldap /var/lib/ldap

修改数据库配置/etc/openldap/slapd.conf

 database bdb
 directory  /var/lib/ldap
3.3 引入schema文件(在配置文件中不引入,会报objectClass无法找到)

schema 定义了objectClass,schema只是一个文件
objectClass,相当于定义了每一级的条目的字段(相当于mysql的创建表语句,官方提供的基本够用)。目录的每一级都是独立的,使用的object都可以是不一样。
attribute 定义了字段遵守的协议规范、字段名称、匹配规则。这个不用太关注,如果需要自定义条件属性就要深入理解
常用schema属性说明参考
http://www.zytrax.com/books/ldap/ape/

配置文件/etc/openldap/slapd.conf

 include         /etc/openldap/schema/core.schema
 include         /etc/openldap/schema/cosine.schema 
 include         /etc/openldap/schema/nis.schema

 #因为nis.schema中的 objectClass ipHost依赖于cosine.schema manager属性,所以最少引入三个schema

备注:posixGroup 常用的用户组描述对象也在nis.schema文件中存在上述文档描述不完整

3.4 配置ldap管理员
suffix  "dc=asd,dc=cn"   #定义ldap 的域
rootdn "cn=admin,dc=asd,dc=cn"
rootpw xxxxx  #可以明文,也可以用密文,密文调用slappasswd生成,将生成的字符串替换
pidfile /var/run/openldap/slapd.pid   #服务pid
argsfile /var/run/openldap/slapd.args #不知道

授权目录权限

chown -R ldap:ldap /var/run/openldap
3.5 配置ldap 的链接 /etc/openldap/ldap.conf
BASE dc=asd,dc=cn  
URI ldap://192.168.19.12 #安装主机的ip
3.6 配置日志

ldap服务端的日志依赖于rsyslog服务收集输出

  • /etc/openldap/slapd.conf配置

      loglevel 256   #开启调试日志
    
  • /etc/rsyslog.conf 配置 输出位置要保证目录存在

      local4.*                                                /var/log/slapd/slapd.log  #输出到/var/log/slapd/slapd.log  
    
3.7 这是一个最小配置,启动服务
systemctl start slapd

4. 使用ldap创建组织结构

4.1)创建base.ldif文件

随便一个目录都可以,一般在/etc/openldap/下

 #创建顶层域(根),如果这个域不创建则无法创建二级组织
 dn: dc=asd,dc=cn
 dc: asd
 objectclass: top
 objectclass: domain
  
 ####创建二级组织结构
 dn: ou=Control,dc=asd,dc=cn
 ou: Control
 objectClass: organizationalUnit
 
 dn: ou=Group,dc=asd,dc=cn
 ou: Group
 objectClass: organizationalUnit
 
 dn: ou=People,dc=asd,dc=cn
 ou: People
 objectClass: top
 objectClass: organizationalUnit


 ####创建用户
 dn: uid=santiago.tian,ou=people,dc=asd,dc=cn
 uid: santiago.tian
 uidNumber: 900004133
 homeDirectory: /home/santiago.tian
 gidNumber: 900004133
 cn: santiago.tian
 sn: tian
 loginShell: /bin/bash
 userPassword:: akksjdjjhhsllj
 objectClass: person
 objectClass: posixAccount
 
 ####创建用户组
 dn: cn=santiago.tian,ou=group,dc=asd,dc=cn
 gidNumber: 900004133
 cn: santiago.tian
 objectClass: posixGroup
4.2)导入数据
 ldapadd -D "cn=admin,dc=asd,dc=cn" -wpasswd -f base.ldif  

5. 验证

执行命令,返回如下信息说明搭建成功

  ldapsearch -LLL -x
image.png

6、删除用户

ldapdelete -x -D "cn=admin,dc=asd,dc=cn" -wpasswd 'cn=santiao.tiang,ou=people,dc=asd,dc=cn'

你可能感兴趣的:((二)openldap 单点服务安装)