LDAP使用小结一,命令行下成批添加子目录

原创 2008年09月28日 00:58:00

//原创,大量参考了SUN文档,在此对作者表示感谢 

使用ldap服务器已经有很长一段时间了,现在终于下定决心将以往的经验教训加以总结,免得以后忘记了,今天先做出第一篇,记录的添加.互联网上这方面的资料暂时还不多,不过也给我了很大的帮助,在此先谢谢他们.
   下面言归正传:
   任务需求:在现有树下面添加n条记录,因为n为较大整数,难以手工操作,现通过程序实现.
步骤:
   1.导出该树下的一条记录,如果该树下目前没有任何记录,可以新添加一条记录,然后再导出,目的是得到记录在该树下的格式.命令为:
  ./ldapsearch -i gb2312 -D  -w - -b "ou=teacher,o=myManager,dc=mytest,dc=tzc,dc=edu,dc=cn" -T "(objectClass=*)" > temp.txt
=====================
命令详解:
  ldapsearch 是ldap服务器提供的命令行工具,用于查询
  参数 -i:指定命令行的字符集,带这个参数就可以使用中文进行查询了.
  参数 -D:绑定的管理员.
    参数  -w: 管理员密码,可以直接跟在后面,也可以用-代表,在命令后输入.
    参数  -b: 查询的条件,一般以最近根节点为查询条件. 
    参数  -T: 以长格式输出
    参数  -B: 以utf-8编码格式输出
    参数  -h: ldap服务器的IP地址
    参数  -p: ldap服务器的TCP端口号
    "(objectClass=*)" :输出显示字段,后面还可以再带几个字段,如uid,userpassword等.
======================
输出结果:
version: 1
dn: ou=teacher,o=myManager,dc=mytest,dc=tzc,dc=edu,dc=cn
ou: teacher
objectClass: organizationalUnit
objectClass: iplanet-am-managed-people-container
objectClass: top
dn: uid=2005031,ou=teacher,o=myManager,dc=mytest,dc=tzc,dc=edu,dc=cn
sn:: 55Sw
cn:: 55Sw5Lqs5rOi
iplanet-am-modifiable-by: cn=Top-level Admin Role,dc=mytest,dc=tzc,dc=edu,dc=cn
inetUserStatus: Active
uid: 2005031
objectClass: iplanetpreferences
objectClass: iplanet-am-managed-person
objectClass: top
objectClass: iplanet-am-user-service
objectClass: organizationalperson
objectClass: inetadmin
objectClass: inetorgperson
objectClass: person
objectClass: iplanet-am-auth-configuration-service
objectClass: inetuser
userPassword: {SSHA}/zstswFjVD552X9h2aVeIl5dM3j7fvpw9VI3NQ==
iplanet-am-user-auth-config: [Empty]
*********************************************************************************************
2.修改输出的文件,修改后的文件如下:
dn: uid=yourNO,ou=teacher,o=myManager,dc=mytest,dc=tzc,dc=edu,dc=cn
sn: 姓
cn: 姓名
iplanet-am-modifiable-by: cn=Top-level Admin Role,dc=mytest,dc=tzc,dc=edu,dc=cn
inetUserStatus: Active
uid: yourNO
objectClass: iplanetpreferences
objectClass: iplanet-am-managed-person
objectClass: top
objectClass: iplanet-am-user-service
objectClass: organizationalperson
objectClass: inetadmin
objectClass: inetorgperson
objectClass: person
objectClass: iplanet-am-auth-configuration-service
objectClass: inetuser
userPassword: yourPassword
iplanet-am-user-auth-config: [Empty]
===============

注意事项:
    1) uid应该修改成要添加的记录uid,有两处要修改
    2) sn 后面只有一个冒号,导出的时候有两个,应该去掉一个,此处可以使用中文
    3) cn 后面只有一个冒号,导出的时候有两个,应该去掉一个,此处可以使用中文
    4) userPassword 后面可以跟密码的明文,ldap服务器会自动进行加密.
    5) 可以将多个记录合并在一个文件里,用空行隔开即可一次性将多条记录导入.
    6) 可使用程序将要加的记录从文本中读取,再生成执行脚本.
*********************************************************************************************
3.修改后的文件要转换成utf-8编码格式,因为ldap服务器是采用utf-8编码的,否则可能会有乱码的问题.
  iconv -f gb2312 -t utf-8 temp.txt > tempUTF8.txt
*******************************************************************************************

4.导入系统.
  ./ldapmodify -D "cn=directory manager" -w - -a -c -f tempUTF8.txt
=====================
命令详解:
  ldapmodify 是ldap服务器提供的命令行工具,用于修改,包括添加
  参数 -i:指定命令行的字符集,带这个参数就可以使用中文进行操作了,但只限于命令行.
  参数 -D:绑定的管理员.
    参数  -w: 管理员密码,可以直接跟在后面,也可以用-代表,在命令后输入.
    参数  -a: 添加目录 
    参数  -c: 遇到错误时继续运行.
    参数  -f: 导入的记录信息文件.
======================

Softerra LDAP Browser 使用及配置 有图有真相

我使用Softerra LDAP Browser的目的,是为了查找公司的人员信息。网上关于Softerra LDAP Browser配置太少了,所以我在这里写一下, 我记得上次在我的XP系统上配...
  • jbgtwang
  • jbgtwang
  • 2014年08月28日 19:28
  • 3107

LDAP 目录搜索

LDAP 目录搜索 LDAP搜索是目录服务最常用的功能之一。在LDAP服务中搜索要用到相应的Filter语句。Filter语句由3个部分组成: 1. 属性,如:cn ,uid ,操作属性如:o...
  • Sunnyyou2011
  • Sunnyyou2011
  • 2012年02月03日 11:50
  • 1564

lnmp下php安装ldap扩展

到目录/root/download/lnmp1.0-full/php-5.3.17/ext/ldap下面, 执行#/usr/local/php/bin/phpize 然后再执行 #./confi...
  • caiyiii
  • caiyiii
  • 2014年02月10日 20:24
  • 2319

LDAP服务器搭建新手指南

Normal 0 false 7.8
  • guilin_gavin
  • guilin_gavin
  • 2009年05月22日 15:50
  • 12330

通过java实现对Ldap的增删改操作

package com.nxw.test;import java.io.UnsupportedEncodingException;import com.novell.ldap.LDAPAttribut...
  • nxw_tsp
  • nxw_tsp
  • 2016年09月28日 14:40
  • 886

ldap添加自定义类(schema)

参考:澳米科技的博客,网址:http://www.cnblogs.com/aomi/p/5659899.html ldap安装位置: /etc/ldap,如果想添加自定义类,则需在schema中添加新...
  • zyzn1425077119
  • zyzn1425077119
  • 2017年04月06日 10:51
  • 1643

使用Java操作LDAP案例

1 案例描述 公司平台使用LDAP来储存企业或用户的信息,在系统的运行过程中需要对LDAP存储的信息进行相关的访问和操作,那么在Java中是如何操作LDAP的呢? 2 案例分析 LDAP是一...
  • gm_163
  • gm_163
  • 2013年12月30日 15:27
  • 4467

往LDAP中添加用户

import java.util.Properties;import javax.naming.ldap.InitialLdapContext;import javax.naming.NamingEx...
  • lisa429
  • lisa429
  • 2006年09月19日 17:53
  • 4419

LDAP通过命令行启动出错

解决方法(一): slapd.exe -d 1 -f ./slapd.conf 加上 -f 和你的配置文件路径 解决方法(二): 安装目录下面有个 run 目录, run 目录下面有个 ru...
  • XiaoLong4150
  • XiaoLong4150
  • 2017年08月30日 12:06
  • 123

ldap 命令详解

http://docs.huihoo.com/solaris/11.1/simplified-chinese/html/E36691/schemas-11.html ldapadd命令: 首先编写.l...
  • Jack_Fun
  • Jack_Fun
  • 2013年11月04日 11:47
  • 1779
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LDAP使用小结一,命令行下成批添加子目录
举报原因:
原因补充:

(最多只允许输入30个字)