LDAP服务OpenDJ 基本操作

本文档详细介绍了在OpenDJ LDAP服务上的基本操作,包括实验环境设置、增删改查操作,如新增用户、修改属性、删除条目,以及查询、同步状态、日志策略、备份恢复等管理任务。此外,还涵盖了权限配置、密码修改和索引创建等内容。
摘要由CSDN通过智能技术生成

基本操作

1、实验环境:

IP:172.16.8.48,账号:apps/xxxxxxx
操作文件目录:
/app/opendj/ldif/

为了操作可追溯,所有的修改操作都通过写入文件再导入文件方式进行操作。
ldif文件需要特别注意格式问题,后边不能有空格,前边是属性名称(字段名称),跟着冒号(: )做分隔,冒号后边需要有一个空格,后边才是值。

2、增、删、改 操作

2.1 新增操作:

vi test_add.ldif
dn: uid=998test,ou=People,o=xxx.com,o=isp
changetype: add
objectClass: top
objectClass: xxx-person
objectClass: inetorgperson
objectClass: OrganizationalPerson
objectClass: person
cn: 2st
sn: 2st
departmentNumber: xxx1350746
description: 2hst
displayName: 2食堂
mail: 2st@xxx.com
xxx-adlocation: CN
uid: 998test
o: 没有归属事业部

#保存后执行:
/app/opendj/bin/ldapmodify --hostname 127.0.0.1 --port 1389 --bindDN “cn=Directory Manager” --bindPassword --continueOnError --filename test_add.ldif

#这样即可新增一条uid为:998test 的条目,格式说明如下:
dn: uid=998test,ou=People,o=xxx.com,o=isp #这个是条目的ID ,这是一个倒置的树形结构,uid 详单与叶子,上一级是People,最上级是isp。
changetype: add #这个是操作类型,add是新增,modify 修改, delete 删除。
objectClass: top #类属性,别的条目有那些,这个也需要写那些,必须写全
objectClass: xxx-person
objectClass: inetorgperson
objectClass: OrganizationalPerson
objectClass: person
cn: 2st #下边的几个都是属性,有多少配置多少,需要一个个写全。我这测试就没写完了,改天再完善。
sn: 2st
departmentNumber: xxx135074
description: 2hst
displayName: 2食堂
mail: 2st@xxx.com
xxx-adlocation: CN
uid: 998test

2.2 修改操作

2.2.1 修改操作-添加属性值

vi test_update_add.ldif
dn: uid=998test,ou=People,o=xxx.com,o=isp
changetype: modify
add: manager
manager: uid=testuser999,ou=People,o=xxx.com,o=isp

#保存后执行:
/app/opendj/bin/ldapmodify --hostname 127.0.0.1 --port 1389 --bindDN “cn=Directory Manager” --bindPassword --continueOnError --filename test_update_add.ldif

#如上新增一条属性manager,格式如下:
dn: uid=998test,ou=People,o=xxx.com,o=isp #需要修改的条目
changetype: modify #变更类型,修改
add: manager #添加属性manager
manager: uid=testuser999,ou=People,o=xxx.com,o=isp #设定属性参数

#写错dn 属性,将isp写成sip ,会出现如下报错。 这有个问题,如果文件中某一行报错,只是报错,其他正常数据会成功插入opendj内。
Processing MODIFY request for uid=999test,ou=People,o=xxx.com,o=sip
MODIFY operation failed
Result Code: 32 (No Such Entry)
Additional Information: Entry uid=999test,ou=People,o=xxx.com,o=sip cannot be modified because no such entry exists in the server

#添加成功:
Processing MODIFY request for uid=999test,ou=People,o=xxx.com,o=isp
MODIFY operation successful for DN uid=999test,ou=People,o=xxx.com,o=isp

#添加的属性值已经存在,会有如下报错:
Processing MODIFY request for uid=999test,ou=People,o=xxx.com,o=isp
MODIFY operation failed
Result Code: 20 (Attribute or Value Exists)

2.2.2 修改操作-修改属性值

vi test_update_update.ldif
dn: uid=998test,ou=People,o=xxx.com,o=isp
changetype: modify
replace: mail
mail: 998test@xxx.com

#文件说明
dn: uid=998test,ou=People,o=xxx.com,o=isp #需要修改的条目
changetype: modify #操作类型,修改
replace: mail #修改的属性名称
mail: 998test@xxx.com #修改后的属性值, 跟sql里边的update一样

2.2.3 修改操作-删除属性

vi test_update_delete.ldif
dn: uid=998test,ou=People,o=xxx.com,o=isp
changetype: modify
delete: displayName

#文件说明:
dn: uid=998test,ou=People,o=xxx.com,o=isp #需要修改的条目
changetype: modify #操作类型为修改
delete: displayName #被删除的属性, 这个就相当于将这个字段删掉

2.2.4 修改操作-删除指定属性值

vi test_update_deletevalue.ldif
dn: uid=998test,ou=People,o=xxx.com,o=isp
changetype: modify
delete: description
description: 2hst

#文件说明
dn: uid=998test,ou=People,o=xxx.com,o=isp #需要修改的条目
changetype: modify #操作类型为修改
delete: description #删除的属性名称为:description
description: 2hst #设置被删除的属性值需要是 2hst

#这我将重新录入了,将2hst改为了3hst,然后再次执行上边的文件(里边的内容还是 description: 2hst )
Processing MODIFY request for uid=998test,ou=People,o=xxx.com,o=isp
MODIFY operation failed
Result Code: 16 (No Such Attribute)
Additional Information: Entry uid=998test,ou=People,o=xxx.com,o=isp cannot be modified because the attempt to update attribute description would have removed one or more values from the attribute that were not present: 2hst

有多个属性需要变更,可以用“-”进行分隔

vi test_update_update.ldif
dn: uid=998test,ou=People,o=xxx.com,o=isp
changetype: modify
replace: mail
mail: 998test@xxx.com
-
replace: cn
cn: 998test
-
replace: outname
outname: 测试账号

2.3 删除操作

vi test_delete.ldif
dn: uid=998test,ou=People,o=xxx.com,o=isp
changetype: delete

#说明,将uid=998test 的这个条目删除掉。

#重复执行,已经删除过的再次发起会出现如下报错
Processing DELETE request for uid=998test,ou=People,o=xxx.com,o=isp
DELETE operation failed
Result Code: 32 (No Such Entry)
Additional Information: Entry uid=998test,ou=People,o=xxx.com,o=isp does not exist in the Directory Server
Matched DN: ou=People,o=xxx.com,o=isp

3、查询

/app/opendj/bin/ldifsearch -? #帮助
这推荐是到: http://directory.apache.org/ 下载 Apache Directory Studio 这个工具来进行管理
或者使用:ldifsearch 命令
/app/opendj/bin/ldifsearch -V #查看OpenDJ 的版本

3、LDAP查询等命令的条件写法
条件
等于、大于等于、小于等于、且、或、非、
(uid=admin1) #等于
(createtimeatamp>=20190701000000Z) #大于等于
(createtimestamp<=20180101000000Z) #小于等于
(&(uid=admin1)(xxx-usertype=0)) # & 且
(|(uid=admin1)(uid=admin2)) # | 或
(!(xxx-usertype=0)) # ! 非

案例查询:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值