使用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修改条目相关推荐

  1. 服务器3个w目录文件夹,第 4 章 目录服务器条目 (Sun Java System Directory Server Enterprise Edition 6.2 管理指南)...

    第 4 章 目录服务器条目 本章讨论如何管理目录中的数据条目.此外,还介绍如何设置引用以及如何加密属性值. 除非定义了相应的访问控制指令 (Access Control Instruction, AC ...

  2. Ldap双主模式+keepalived实现ldap高可用

    一.安装OpenLDAP yum install openldap openldap-clients openldap-servers 安装完直接启动 ``` systemctl start slap ...

  3. 搭建OpenLDAP服务器

    搭建OpenLDAP服务器 OpenLDAP搭建 安装Master 安装Slave 防火墙配置 配置日志 报错 phpldapadmin 搭建 安装 apahce 2.4/ php和扩展模块 phpl ...

  4. Ubuntu配置LDAP认证

    LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根据需要定制.与X ...

  5. openldap 认证

    openldap openldap openldap简介 openldap基础配置与操作 安装openldap 配置openldap 全局配置文件 数据库配置文件 建立安全连接 证书配置相关参数 启动 ...

  6. ldap数据库--ldapsearch,ldapmodify

    ldap数据库--ldapsearch,ldapmodify 简单介绍一下ldapsearch命令,在ldap搜索条目时很有用,只要适当调整filter就可以. 命令如下: ldapsearch -h ...

  7. [QT_015]Qt学习之基于条目控件的自定义特性(拖拽+右键菜单+样式)

    本文转自:<Qt编程指南>        作者:奇先生 Qt编程指南,Qt新手教程,Qt Programming Guide 本节介绍基于条目控件的定制特性,首先介绍条目的拖拽,列表控件. ...

  8. LDAP基础:8:ldap用户密码确认和修改

    ldap用户密码的修改可以使用ldappasswd命令,也可以使用万能的ldapmodify结合ldif文件来实现,但所修改的都是普通的用户,cn=admin的管理员用户的修改一般可以通过slappa ...

  9. ladp3 获取属性_ldap3库:用多个值修改属性

    试图修改具有多个值的ldap属性时,似乎无法理解语法.在 我正在使用python3的ldap3库.在 documentation给出了一个修改条目的两个属性的例子,但是每个属性只有一个值.在 这个例子 ...

最新文章

  1. spring注解事务
  2. C++函数模板(一)
  3. Typora——恢复未保存文件解决方案
  4. 浅谈MD5加密算法中的加盐值(SALT)
  5. linux无限刷屏代码,linux下如何实现简单刷屏
  6. SM系列国密算法(转)
  7. Bailian2816 红与黑【DFS】
  8. 【转】在centos linux上安装jdk7
  9. UniWebView使用总结
  10. 关于idea导入项目不能运行的原因
  11. oracle去空格和换行,ORACLE 中去回车、空格、TAB的函数
  12. 分享 | 3D目标检测方法总结
  13. 制作后台首页详细步骤
  14. 关于CS1.6中模型导出到3dsmax
  15. 浅谈C++类中6个成员函数
  16. VR和AR已从概念转为真正走进人们生活的实际应用
  17. 关于解决NAT 类型显示“Teredo 无法获得资格”的一个案例
  18. 该知道的都知道 不知道的慢慢了解 正则表达式符号大全
  19. 【音视频】获取桌面程序窗口列表以及桌面、窗口的缩略图(4-4)
  20. 企业在线ERP系统与内控控制因素管理

热门文章

  1. 仿微信朋友圈动态列表
  2. BZOJ2565 回文自动机
  3. 【342期】SpringBoot + Redis 布隆过滤器防恶意流量击穿缓存的正确姿势!
  4. 5.13.1.3 jmeter组件-非测试元件—HTTP代理服务器--HTTPS证书及其安装
  5. numpy——arry矩阵交换行或者交换列
  6. 软件项目管理——文档
  7. 【无标题】Java画板简易实现
  8. 从零开始学R(三)——基本计算
  9. 简单几步设置电脑动态换ip
  10. Github上8个很棒的React项目