1. 安装软件,centos7.3 安装完,版本为:slapd 2.4.44
yum install -y openldap openldap-clients openldap-servers migrationtools
2. 编辑配置文件
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif 更改两行: olcSuffix: dc=opsinfo,dc=cn # 修改dc=,改为将要设置的信息 olcRootDN: cn=root,dc=opsinfo,dc=cn 添加一行 olcRootPW: 123456 #密码根据自己需要修改
3.更改配置 Monitoring Database,
vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif dn.base="cn=admin,dc=opsinfo,dc=cn" ## 更改域名为设定的域名
4. 准备LDAP数据库:
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
5. 测试配置文件是否正确:
# slaptest -u
6. 启动服务
# systemctl start slapd # systemctl enable slapd
7.将所有的配置LDAP server, 添加到LDAP schemas中
# cd /etc/openldap/schema/ # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f collective.ldif # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f corba.ldif # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f duaconf.ldif # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f dyngroup.ldif # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f java.ldif # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f misc.ldif # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f openldap.ldif # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f pmi.ldif # ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f ppolicy.ldif
8. 使用 Migration Tools to 创建LDAP DIT
# cd /usr/share/migrationtools/ # vim migrate_common.ph line 61,71,74,90 ===================== $NAMINGCONTEXT{'group'} = "ou=Groups"; $DEFAULT_MAIL_DOMAIN = "opsinfo.cn"; $DEFAULT_BASE = "dc=opsinfo,dc=cn"; $EXTENDED_SCHEMA = 1;
9. # 建立基本条目,用于生成用户上级的ou 信息
# cd /usr/share/migrationtools/ 生成文件 # ./migrate_base.pl> /root/base.ldif # ldapadd -x -W -D "cn=admin,dc=opsinfo,dc=cn" -f /root/base.ldif
10. 创建用户文件
# getent passwd | tail -n 2 > /root/users # getent shadow | tail -n 2 > /root/shadow # getent group| tail -n 2 > /root/groups
11 生成配置文件
# ./migrate_passwd.pl /root/users > /root/users.ldif # ./migrate_group.pl /root/groups > /root/groups.ldif
12 添加用户 和组
# ldapadd -x -W -D "cn=admin,dc=opsinfo,dc=cn" -f /root/users.ldif # ldapadd -x -W -D "cn=admin,dc=opsinfo,dc=cn" -f /root/groups.ldif
13 基本操作
# 查询操作 # ldapsearch -x -b "ou=Groups,dc=opsinfo,dc=cn" ldapsearch -x -b "ou=People,dc=opsinfo,dc=cn" # 查询用户 # ldapsearch -LLL -x -D 'cn=admin,dc=opsinfo,dc=cn' -w "123456" -b 'dc=opsinfo,dc=cn' uid=xd # 查询组 # ldapsearch -LLL -x -D 'cn=admin,dc=opsinfo,dc=cn' -w "123456" -b 'dc=opsinfo,dc=cn' cn=ggg # 组添加用户 [root@linux-node1 jenkins]# cat /root/add_aaa_group.ldif dn:cn=ggg,ou=Groups,dc=opsinfo,dc=cn changetype: modify add:memberuid # delete:memberuid # 删除用户 memberuid:aaa ldapadd -x -w "123456" -D "cn=admin,dc=opsinfo,dc=cn" -f /root/add_aaa_group.ldif
14 版本变化记录
###################################### # openldap 2.4.4 objectClass : 'objectClass': ['posixAccount','shadowAccount','top','person','organizationalPerson','inetOrgPerson'], # need add : sn: ###################################### # openldap 2.4 objectClass : ['account', 'posixAccount', 'top', 'shadowAccount'],