使用ldapmodify修改条目
使用ldapmodify修改条目
您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
可以使用 changetype: modify 关键字在现有条目中添加、替换或删除属性及属性值。指定 changetype: modify 时,还必须提供一个或多个更改操作,表明将如何修改条目。以下示例中显示了三种可能的 LDIF 更改操作:
dn:entryDNchangetype: modify add:attributeattribute:value... - replace:attributeattribute:newValue... - delete:attribute[attribute:value] ... |
可以使用独占一行的连字符 (-) 分隔相同条目上的操作,并可使用空行来分隔不同条目上的操作组。还可以为每个操作提供多个attribute:value对。
添加属性值
无法使用 DSCC 执行此任务。请使用命令行,如以下过程所述。
以下示例显示如何使用相同的 add LDIF 语法向现有多值属性和尚未存在的属性中添加值:
$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com changetype: modify add: cn cn: Babs Jensen - add: mobile mobile: (408) 555-7844 |
如果存在以下任一情况,则此操作可能会失败,并且服务器将返回错误:
属性中已存在给定的值。
值与为属性定义的语法不符。
条目的对象类不需要或不允许使用该属性类型。
属性类型不是多值类型,并且属性中已存在某个值。
使用二进制属性子类型
您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
attribute;binary 子类型表示属性值必须作为二进制数据通过 LDAP 进行传输,而不考虑属性值的实际语法。此子类型适用于没有 LDAP 字符串表示的复杂语法,如 userCertificate。不应将二进制子类型用于其他目的。
在 ldapmodify 命令中使用时,可以将相应的子类型添加到任何 LDIF 语句的属性名称中。
要输入二进制值,可以在 LDIF 文本中直接键入或从其他文件读取。以下示例显示了用于从文件读取二进制值的 LDIF 语法:
$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: version: 1 dn: uid=bjensen,ou=People,dc=example,dc=com changetype: modify add: userCertificate;binary userCertificate;binary:< file:///local/cert-file |
要使用 :< 语法指定文件名,必须将 version: 1 行作为 LDIF 语句的开头。当 ldapmodify 处理此语句时,它会将属性设置为从给定文件的全部内容中读取的值。
添加具有语言子类型的属性
您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
属性的语言和发音子类型可指定本地化的值。为属性指定语言子类型时,该子类型将添加到属性名称中,如下所示:
attribute;lang-CC |
其中attribute是现有属性类型,而cc是用于指定语言的双字母国家/地区代码。您还可以将发音子类型添加到语言子类型中,以便为本地化的值指定一个语音值。在本案例中,属性名称如下所示:
attribute;lang-CC;phonetic |
要对具有子类型的属性执行操作,必须明确匹配其子类型。例如,如果要修改具有 lang-fr 语言子类型的属性值,则必须在修改操作中包含 lang-fr,如下所示:
$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com changetype: modify add: homePostalAddress;lang-fr homePostalAddress;lang-fr: 34, rue de la Paix |
注 –
如果属性值包含非 ASCII 字符,则这些字符必须为 UTF-8 编码的字符。
修改属性值
您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
以下示例说明如何通过使用 LDIF 中的 replace 语法更改属性值:
$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com changetype: modify replace: sn sn: Morris - replace: cn cn: Barbara Morris cn: Babs Morris |
将删除指定属性的所有当前值,并添加所有给定值。
更改属性值之后,您可以使用 ldapsearch 命令验证此更改。
属性值中的结尾空格
修改属性值时,请勿不小心在值的末尾包含空格。结尾空格可能会导致值以 base-64 编码格式显示(如 34xy57eg)。
如果属性值的末尾是空格,则此空格将作为属性值的一部分进行编码。在使用 DSCC 或 ldapsearch 命令验证更改时,所显示的值可能是纯文本,也可能是 base-64 编码的文本。这取决于您所使用的目录服务器客户端。
删除属性值
您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
以下示例说明如何完整地删除属性,以及如何仅删除多值属性的一个值:
$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com changetype: modify delete: facsimileTelephoneNumber - delete: cn cn: Babs Morris |
使用 delete 语法时如果不指定attribute: value对,将删除该属性的所有值。如果指定attribute: value对,则只会删除该值。
修改多值属性的一个值
您可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。
要使用 ldapmodify 命令修改多值属性的一个值,则必须执行以下示例中显示的两个操作:
$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com changetype: modify delete: mobile mobile: (408) 555-7845 - add: mobile mobile: (408) 555-5487 |
转载于:https://blog.51cto.com/13791715/2317740
使用ldapmodify修改条目相关推荐
- 服务器3个w目录文件夹,第 4 章 目录服务器条目 (Sun Java System Directory Server Enterprise Edition 6.2 管理指南)...
第 4 章 目录服务器条目 本章讨论如何管理目录中的数据条目.此外,还介绍如何设置引用以及如何加密属性值. 除非定义了相应的访问控制指令 (Access Control Instruction, AC ...
- Ldap双主模式+keepalived实现ldap高可用
一.安装OpenLDAP yum install openldap openldap-clients openldap-servers 安装完直接启动 ``` systemctl start slap ...
- 搭建OpenLDAP服务器
搭建OpenLDAP服务器 OpenLDAP搭建 安装Master 安装Slave 防火墙配置 配置日志 报错 phpldapadmin 搭建 安装 apahce 2.4/ php和扩展模块 phpl ...
- Ubuntu配置LDAP认证
LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根据需要定制.与X ...
- openldap 认证
openldap openldap openldap简介 openldap基础配置与操作 安装openldap 配置openldap 全局配置文件 数据库配置文件 建立安全连接 证书配置相关参数 启动 ...
- ldap数据库--ldapsearch,ldapmodify
ldap数据库--ldapsearch,ldapmodify 简单介绍一下ldapsearch命令,在ldap搜索条目时很有用,只要适当调整filter就可以. 命令如下: ldapsearch -h ...
- [QT_015]Qt学习之基于条目控件的自定义特性(拖拽+右键菜单+样式)
本文转自:<Qt编程指南> 作者:奇先生 Qt编程指南,Qt新手教程,Qt Programming Guide 本节介绍基于条目控件的定制特性,首先介绍条目的拖拽,列表控件. ...
- LDAP基础:8:ldap用户密码确认和修改
ldap用户密码的修改可以使用ldappasswd命令,也可以使用万能的ldapmodify结合ldif文件来实现,但所修改的都是普通的用户,cn=admin的管理员用户的修改一般可以通过slappa ...
- ladp3 获取属性_ldap3库:用多个值修改属性
试图修改具有多个值的ldap属性时,似乎无法理解语法.在 我正在使用python3的ldap3库.在 documentation给出了一个修改条目的两个属性的例子,但是每个属性只有一个值.在 这个例子 ...
最新文章
- spring注解事务
- C++函数模板(一)
- Typora——恢复未保存文件解决方案
- 浅谈MD5加密算法中的加盐值(SALT)
- linux无限刷屏代码,linux下如何实现简单刷屏
- SM系列国密算法(转)
- Bailian2816 红与黑【DFS】
- 【转】在centos linux上安装jdk7
- UniWebView使用总结
- 关于idea导入项目不能运行的原因
- oracle去空格和换行,ORACLE 中去回车、空格、TAB的函数
- 分享 | 3D目标检测方法总结
- 制作后台首页详细步骤
- 关于CS1.6中模型导出到3dsmax
- 浅谈C++类中6个成员函数
- VR和AR已从概念转为真正走进人们生活的实际应用
- 关于解决NAT 类型显示“Teredo 无法获得资格”的一个案例
- 该知道的都知道 不知道的慢慢了解 正则表达式符号大全
- 【音视频】获取桌面程序窗口列表以及桌面、窗口的缩略图(4-4)
- 企业在线ERP系统与内控控制因素管理