openldap安装 -添加条目
openldap安装
文档
- openldap安装 -添加条目
- gitlab、jenkins等应用集成ldap
官方文档
- 官方网站:https://www.openldap.org/
- 下载页面:https://www.openldap.org/software/download/
- 下载地址:https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.6.10.tgz
- 快速开始指南:https://www.openldap.org/doc/admin26/quickstart.html
说明
- openldap版本:openldap-2.6.10
本地安装
-
可以按照快速指南的步骤,进行安装
-
提前下载好
openldap-2.6.10.tgz
-
解压
openldap-2.6.10.tgz
cd /home/ gunzip -c openldap-2.6.10.tgz | tar xvfB -
-
进入到
openldap-2.6.10.tgz
解压后的文件夹cd openldap-2.6.10
-
配置
./configure
-
编译
make depend make
-
安装
make install
-
编辑数据库配置
-
编辑
/usr/local/etc/openldap/slapd.ldif
文件 -
默认配置与快速指南有所区别,用默认配置即可,不需要更改
dn: olcDatabase=mdb,cn=config objectClass: olcDatabaseConfig objectClass: olcMdbConfig olcDatabase: mdb olcDbMaxSize: 1073741824 olcSuffix: dc=my-domain,dc=com olcRootDN: cn=Manager,dc=my-domain,dc=com # Cleartext passwords, especially for the rootdn, should # be avoided. See slappasswd(8) and slapd-config(5) for details. # Use of strong authentication encouraged. olcRootPW: secret # The database directory MUST exist prior to running slapd AND # should only be accessible by the slapd and slap tools. # Mode 700 recommended. olcDbDirectory: /usr/local/var/openldap-data # Indices to maintain olcDbIndex: objectClass eq
-
需要变更的是,需要导入
cosine.ldif
、inetorgperson.ldif
,以及其它想要导入的schema
,这一步很重要,后面与gitlab
等集成时,需要的一些属性,如果不导入这些schema
,会报错。在/usr/local/etc/openldap/slapd.ldif
文件中,已导入了core.ldif
,在配置文件的41行。在此配置后面,追加导入cosine.ldif
、inetorgperson.ldif
... include: file:///usr/local/etc/openldap/schema/core.ldif include: file:///usr/local/etc/openldap/schema/cosine.ldif include: file:///usr/local/etc/openldap/schema/inetorgperson.ldif ...
-
保存退出
/usr/local/etc/openldap/slapd.ldif
-
创建文件夹:
/usr/local/var/openldap-data
,就是上面配置中olcDbDirectory
属性的值mkdir -p /usr/local/var/openldap-data
-
创建文件夹:
/usr/local/etc/slapd.d
,后面的配置中需要用到mkdir -p /usr/local/etc/slapd.d
-
-
导入配置数据库
/usr/local/sbin/slapadd -n 0 -F /usr/local/etc/slapd.d -l /usr/local/etc/openldap/slapd.ldif
-
启动服务
/usr/local/libexec/slapd -F /usr/local/etc/slapd.d
-
检查服务是否启动成功
ps -ef | grep slapd
添加条目到LDAP目录
-
服务启动成功后,添加一些条目到ldap目录中
-
在
.ldif
文件中编辑条目信息,执行添加命令ldapadd
即可将条目添加到ldap目录中 -
依次添加
组织
、管理员
、分组
、用户
-
添加
组织
-
在任意目录下,编辑
add_o_my_org.ldif
,例如在/home
下编辑dn: dc=my-domain,dc=com objectClass: top objectClass: dcObject objectClass: organization o: MyOrg dc: my-domain
-
执行
ldapadd
命令添加ldapadd -x -H ldap://localhost:389 -D "cn=Manager,dc=my-domain,dc=com" -W -f add_o_my_org.ldif
返回信息:
Enter LDAP Password:
执行后,需要输入密码,密码即为上面配置中
olcRootPW
的属性值:secret
返回信息:
adding new entry "dc=my-domain,dc=com"
返回上面信息,表示添加成功
-
-
添加
管理员
-
编辑
add_cn_manager.ldif
dn: cn=Manager,dc=my-domain,dc=com objectclass: organizationalRole cn: Manager
-
执行
ldapadd
命令添加ldapadd -x -H ldap://localhost:389 -D "cn=Manager,dc=my-domain,dc=com" -W -f add_cn_manager.ldif
-
-
添加
分组
-
编辑
add_ou_people.ldif
# add_ou_people.ldif dn: ou=People,dc=my-domain,dc=com objectClass: organizationalUnit ou: People description: All people in the organization
-
执行
ldapadd
命令添加ldapadd -x -H ldap://localhost:389 -D "cn=Manager,dc=my-domain,dc=com" -W -f add_ou_people.ldif
-
-
添加
用户
-
编辑
add_test_user.ldif
# add_test_user.ldif dn: cn=test000,ou=People,dc=my-domain,dc=com objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson cn: test000 sn: User givenName: Test000 mail: test.user@example.com uid: 1000 ou: People userPassword: 123456 description: General test user account
-
执行
ldapadd
命令添加ldapadd -x -H ldap://localhost:389 -D "cn=Manager,dc=my-domain,dc=com" -W -f add_test_user.ldif
-
客户端工具
- https://www.ldapbrowserwindows.com/
- https://www.ldapsoft.com/ldapbrowser/ldapadmintool.html
参考
- https://cloud.tencent.com/developer/article/2549888