//原创,参考SUN文档
目录属性异动,本文中目录属性异动是指目录属性的添加、修改或删除。节点下目录添加请看总结一,节点下目录的删除也不包含在本文中。
任务需求:将ldap服务器中某节点下的n个子目录添加a属性,并将b属性的值更改变c。
本文的ldap服务器是sunOne deretory server,其命令行工具参数及ldif文件可能与其它系统有所出入。
1、导出ldif文件,目的是得到该节点下面目录的dn。命令:
./ldapsearch -D "cn=directory manager" -w - -b "uid=2005031,ou=teacher,o=myManager,dc=mytest,dc=tzc,dc=edu,dc=cn"
"(objectClass=*)" uid > temp.txt
************************************************************
************************************************************
2、修改ldif文件,将除了dn以外的所有行都删除掉.然后再添加一些控制语句。修改后的样例文件modify.ldif如下:
=================
dn: uid=2005031,ou=teacher,o=myManager,dc=mytest,dc=tzc,dc=edu,dc=cn
changetype: modify
add: mail
mail: tjb@tzc.edu.cn
dn: uid=2005031,ou=teacher,o=myManager,dc=mytest,dc=tzc,dc=edu,dc=cn
changetype: modify
add: title
title: myTitle
-
replace: title
title: myTitle2
-
delete: title
-
delete: mail
=================
注意事项:
1)除了删除外,每一个异动操作应该单独成一块,语句之间不能有空行。
2)对不同节点目录的异动都应该有一个dn和一个changetype的说明语句,两节点目录间应该用空行隔开.
3)操作和操作之间要用空行分隔。否则会出错并中断操作。
4)可通过程序生成ldif文件,从而一次大量完成操作。
************************************************************
************************************************************
3、modify.ldif文件编码转换成utf8
iconv -f gb2312 -t utf-8 modify.ldif > mofifyUTF8.ldif
=================
注意事项:
如果ldif文件不是utf-8的编码,应尽量转换格式。事实上,这并不是强制要求。
************************************************************
************************************************************
4、导入ldif文件,命令如下:
./ldapmodify -D "cn=directory manager" -w - -c -f modifyUTF8.ldif
=================
注意事项:
部分ldap服务器如果有web管理方式,新增的属性有可能不会在web中显示出来,除非修改web的显示内容。