简单介绍一下ldapsearch命令,在ldap搜索条目时很有用,只要适当调整filter就可以。

命令如下:

  ldapsearch -h hostname -p port -b baseDN -D BIND_DN  [options] filter [attribute]...

  参数说明:  

    -h:主机名或ip地址

    -p:端口号 

    -b:suffix dn

    -D:使用搜索绑定的用户

  其他参数一般很少使用。下面举几个例子看一下:

1)搜索所有条目:

  ldapsearch -h host -b "dc=example,dc=com" "(objectclass=*)"

2)搜索cn为指定名字的条目

  ldapsearch -h host -b "dc=example,dc=com" "(cn=Babs Jensen)"

3)使用filter文件进行搜索

  filter文件内容:

  sn=Francis

  givenname=Barbara

  指定搜索:

  ldapsearch -b "dc=example,dc=com" -h host -f filters cn uid

4)模糊查询,uid包含test的条目

  ldapsearch -h host -b "dc=example,dc=com" "(uid=*test*)"

5)同时满足多个属性,uid包含test,givenName包含test的条目

  ldapsearch -h host -b "dc=example,dc=com" "(|(uid=*test*)(givenName=*test*))"

这里filter的书写规则和aci的filter中书写规则相同。

通过ldapmodify可以更改条目属性,下面简单介绍一下,ldapmodify在添加,删除,更新,更改dn的操作

1,添加条目,在使用ldapmodify添加条目的时候,可以手动输入要添加的条目的所有属性,也可以通过使用文件的方式进行添加;

  文件内容如下(add.ldif):在编辑文件时须将必填属性,例如uid,cn,sn等写完整

  dn: uid=bcubbins,ou=People,dc=example,dc=com
  objectclass: top
  objectclass: person
  objectclass: organizationalPerson
  objectclass: inetOrgPerson
  uid: bcubbins
  givenName: Bartholomew
  sn: Cubbins
  cn: Bartholomew Cubbins
  mail: bcubbins@example.com
  userPassword: bcubbins
  facsimiletelephonenumber: +1 234 567 8910  

  使用命令:

  ldapmodify -a -h host -D uid=bjensen,ou=people,dc=example,dc=com -w - -f add.ldif

  如果不是用文件,则需要在命令行下手动输入如上内容,完成后按回车键。例如:

  dn: uid=bcubbins,ou=People,dc=example,dc=com

  changeType:add

  objectclass: top
  objectclass: person
  objectclass: organizationalPerson
  objectclass: inetOrgPerson
  uid: bcubbins
  givenName: Bartholomew
  sn: Cubbins
  cn: Bartholomew Cubbins
  ....

  

2,修该条目,修改条目和删除条目操作类似

 通过文件修改:

  dn: uid=bcubbins,ou=People,dc=example,dc=com

  changetype: modify
  add: description
  description: Added with ldapmodify
  -
  replace: mail
  mail: bart@example.com

  执行ldapmodify命令

  ldapmodify -h host -c -v -D uid=bjensen,ou=People,dc=example,dc=com -w - -f modify.ldif

 如果不通过文件修改,则需手动输入如上所有红色字体内容

3,删除条目,删除条目是可以通过指定文件内容删除,手动输入需删除条目

  ldapmodify -h host -D uid=bjensen,ou=People,dc=example,dc=com -w -  

  dn: uid=bcubbins,ou=People,dc=example,dc=com
  changetype: delete
  deleting entry uid=bcubbins,ou=People,dc=example,dc=com

4,移动条目,即更改条目uid,dn

  ldapmodify -h host -D uid=hmiller,ou=people,dc=example,dc=com -w -  

  changetype: modrdn
  newrdn: uid=jwallace
  deleteoldrdn: 0
  newsuperior: ou=special users,dc=example,dc=com

  deleteoldrdn:0,保留原dn;1,删除原dn。再进行条目移动时,需具有import和export权限。

ldap数据库--ldapsearch,ldapmodify的更多相关文章

  1. ldap数据库--ODSEE--suffix

    ldap数据库的suffix是建立ldap之间复制协议的基础,suffix的创建也可以通过管理界面进行,也可以通过命令行进行.不同点是通过管理界面创建的suffix会自动创建一条对应该suffix的匿 ...

  2. ldap数据库--ODSEE--安装

    在安装之前最好查看一下服务器硬件是否满足要求,是否需要更改一些系统配置来达到使用ldap数据库的最有性能.实际使用的ldap数据库是oracle的产品,DS70即ODSEE. 安装环境:solaris ...

  3. ldap数据库--ODSEE--复制协议

    简单介绍一下ODSEE的复制拓扑的建立,复制协议可以通过管理界面进行创建,也可以通过命令行创建.在此之前需要了解一些复制协议的相关概念,这里针对OESEE. 1,复制角色 master(提供者,也可以 ...

  4. ldap数据库--ODSEE--ACI

    查看跟DN下的aci ldapsearch -h hostname -p port -D "cn=Directory Manager" -w - -b "BASE_DN& ...

  5. ldap数据库--ODSEE--schema

    ldap服务器包含上百个对象类型(object class)和属性,这些对象类和属性都可以满足大部分需求,如果你想定义自己的schema,你只能继承扩展现有的schema进行操作. tip: 增加的新 ...

  6. ldap数据库--ODSEE--卸载

    针对ldap实例的卸载,即删除,可以通过管理界面进行操作也可以通过命令行进行操作.卸载顺序为ldap实例--agent--ads.这里主要介绍命令操作步骤 1,ldap实例卸载 从ads注销,即不在需 ...

  7. [ldap]slapcat/ldapsearch与ldap备份

    http://serverfault.com/questions/577356/ldap-backup-with-slapcat-vs-ldapsearch Used: openldap-server ...

  8. LDAP分布式数据库的介绍和安装使用

     目录服务 目录是一个为查询.浏览和搜索而优化的专业分布式数据库,它呈树状结构组织数据,就好象Linux/Unix系统中的文件目录一样.目录数据库和关系数据库不同,它有优异的读性能,但写性能差,并且没 ...

  9. centos 6.5 配置LDAP服务器+客户端!

    各种度娘!各种歌哥!网上教程参差不齐,历时1天,终于完成,不敢独享,遂,总结分享之,有问题可以留言,知无不言...开始吧 Note: 本次配置的服务器环境是<redhat enterprise ...

随机推荐

  1. Web的架构与html5基础知识

    图1:完整的Web应用构架 图2:html5的基本结构 head 可添加在头部标签元素有→→title meta style link base script noscript meta 几个重要属性 ...

  2. 使用wsimport和JAX-WS调用Web Service接口

    本文简单举例说明如何使用wsimport工具和JAX-WS API调用Web Service接口.此方法的优点:使用JDK自带的工具和API接口,无需依赖第三方库. JDK版本:1.8.0_141开发 ...

  3. java 学习笔记——类之间的关系之封装、继承与多态的详解

    封装 一个封装的简单例子 封装就是把对象的属性(状态)和方法(行为)结合在一起,并尽可能隐蔽对象的内部细节,成为一个不可分割的独立单位(即对象),对外形成一个边界,只保留有限的对外接口使之与外部发生联 ...

  4. python netifaces模块

    简介 在Linux系统中,我们可以通过ifconfig,route等shell命令来查看系统接口配置,网关和路由等信息.通过shell的正则表达式功能,通过系列复杂操作,我们可以从字符串中提取出相关的 ...

  5. Java面向对象 网络编程 上

     Java面向对象 网络编程 上 知识概要:                     (1)网络模型 (2)网络通讯要素 (3)UDP TCP 概念 (4)Socket (5)UDP TCP 传输 ...

  6. 前端要革命?看我在js里写SQL

    在日新月异的前端领域中,前端工程师能做的事情越来越多,自从nodejs出现后,前端越来越有革了传统后端命的趋势,本文就再补一刀,详细解读如何在js代码中执行标准的SQL语句 为什么要在js里写SQL? ...

  7. linux上redis安装配置及其防漏洞配置及其攻击方法

    Linux上redis安装: 需先在服务器上安装yum(虚拟机可使用挂载的方式安装) 安装配置所需要的环境运行指令:  yum -y install gcc 进入解压文件执行make 指令进行编译 执 ...

  8. [#1] YCbCr与RGB的转换公式

    1 YCbCr简介 YCbCr颜色空间是将RGB颜色空间进行坐标转换后得到的,常用于数字电视系统.Y取值范围:16~235 Cb.Cr的取值范围:16~240 YCbCr经常和YUV混淆.两者的主要差 ...

  9. Java IO(IO流)-1

    IO流 第一部分 (outputStream/InputStream Writer/Redaer) IO流对象中输入和输出是相辅相成的,输出什么,就可以输入什么. IO的命名方式为前半部分能干什么,后 ...

  10. 我的第一个python web开发框架(10)——工具函数包说明(一)

    PS:原先是想直接进入功能开发,要用到什么函数时再创建,这样也容易熟悉每个函数的由来和使用方法,但考虑到这样操作,到时会经常在不同文件间切换,不好描述,容易造成混乱,所以还是使用函数库这种方式来说明. ...