Ldap落地实践

Posted by Ricky Blog on March 26, 2025

image

名词

  • DC, Domain Component, 一般为公司名,例如:dc=163,dc=com
  • OU, Orgnization Unit, 可以有四级,例如:ou=it,ou=developer
  • CN, Common Name, 用户名,例如:cn=ricky
  • DN, Distinguished Name, 一条ldap记录项,例如:dn:”cn=admin,ou=developer,ou=it,dc=163,dc=com”

一、部署

  1. 安装OpenLDAP, OpenLDAP服务端程序叫slapd
    1
    
    apt-get install -y slapd
    
  2. 生成OpenLDAP管理员账号的密码
    1
    
    slappasswd
    
  3. 新建OpenLDAP配置文件 ``` cp /usr/share/slapd/slapd.conf /etc/ldap/ # 配置文件中有很多@xxx@的配置替换为真实配置

slaptest -f /etc/ldap/slapd.conf

1
2
3
4
5
6
7
8
9
10
11
配置文件重要参数说明(需要自己修改的,其他未提到的可以不修改):

- database bdb:定义使用的后端数据存储格式,数据库默认采用了berkeley db,其后可以跟的值有bdb、ldbm、passwd、shell。bdb指使用Berkley DB 4数据库
- suffix "dc=163,dc=com":suffix是"LDAP基准名",它是LDAP名字空间在这里的根。设置想要创建的子树的根DN
- rootdn "cn=admin,dc=163,dc=com":设置管理LDAP目录的超级用户的DN。这个用户名不要出现在/etc/passwd文件里
- rootpw {SSHA}TpWoSebaT5gKy2Y3EHmZh+Wc0hJaFp7y:设置这个数据库的超级用户的口令验证方式。也就是上边rootdn设置的用户的密码。一定要用加密的口令存储,可以使用的加密方式有:CRYPT、MD5、SMD5、SHA和SSHA
- directory /var/lib/ldap:设置LDAP数据库和索引文件所在的目录
- access to:权限配置下边详细说明

4. 删除原配置,生成新配置

rm -rf /etc/ldap/slapd.d/* slaptest -f /etc/ldap/slapd.conf -F /etc/ldap/slapd.d/

给新生成的配置文件赋予OpenLdap的权限

chown -R openldap.openldap /etc/ldap/slapd.d/

重启服务端

/etc/init.d/slapd restart ```

参考:https://blog.ops-coffee.cn/ldap/lightweight-directory-access-protocol-sso.html