OpenLDAP 常用命令

本文原始地址:https://sitoi.cn/posts/5308.html

ldapsearch

ldapsearch - ldap 搜索工具

ldapsearch 实用程序可打开与 LDAP 服务器的连接,使用过滤器 filter 绑定并执行搜索。

如果 ldapsearch 找到一个或多个条目,则会检索由 attrs 指定的属性并且会将条目和值输出到标准输出。如果没有列出 attrs,则会返回所有属性。

选项 描述
-d debuglevel 设置 LDAP 调试级别。适用于 ldapdelete 的有用调试级别包括:1:跟踪 2:包 4:选项 32:过滤器 128:访问控制 要请求多个类别的调试信息,请将掩码相加。例如,要请求跟踪和过滤器信息,请将 debuglevel 指定为 33。
-x 进行简单认证
-D 用来绑定服务器的DN
-w 绑定DN的密码
-b 指定要查询的根节点
-H 制定要查询的服务器

例子

查询所有用户
ldapsearch -x -b "dc=sitoi,dc=cn" -H ldap://192.168.1.143
指定条件的查询
ldapsearch -x -b "dc=sitoi,dc=cn" "uid=demo" -H ldap://192.168.1.143
或条件查询配合正则匹配
ldapsearch -x -b "dc=sitoi,dc=cn" "(|(uid=*de*)(cn=*Ada Cather*))" -H ldap://192.168.1.143
与条件查询配合正则匹配
ldapsearch -x -b "dc=sitoi,dc=cn" "(&(uid=*de*)(cn=*Ada Cather*))" -H ldap://192.168.1.143

ldapadd

ldapadd - ldap 条目添加工具

ldapadd 实用程序是作为到 ldapmodify 工具的硬链接实现的。当作为 ldapadd 调用时,会自动打开 –a(添加新条目)选项。

选项 描述
-x 进行简单认证
-D 用来绑定服务器的DN
-h 目录服务的地址
-w 绑定DN的密码
-f 使用ldif文件进行条目添加的文件

例子

ldapadd -x -D "cn=root,dc=sitoi,dc=cn" -w sitoi -f demo.ldif
ldapadd -x -D "cn=root,dc=sitoi,dc=cn" -w sitoi #(这样写就是在命令行添加条目)

ldappasswd

ldapmodify - ldap 密码修改工具

ldapmodify 实用程序可打开与 LDAP 服务器的连接,修改条目密码。

选项 描述
-x 进行简单认证
-D 用来绑定服务器的DN
-w 绑定DN的密码
-S 提示的输入密码
-s pass 把密码设置为pass
-a pass 设置old passwd为pass
-A 提示的设置old passwd
-H 是指要绑定的服务器
-I 使用sasl会话方式

例子

ldappasswd -x -D 'cm=root,dc=sitoi,dc=cn' -w sitoi 'uid=Sitoi,dc=sitoi,dc=cn' -S
New password:
Re-enter new password:

就可以更改密码了,如果原来记录中没有密码,将会自动生成一个userPassword。

ldapmodify

ldapmodify - ldap 条目修改工具

ldapmodify 实用程序可打开与 LDAP 服务器的连接,绑定并修改或添加条目。条目信息是从标准输入或者从使用 –f 选项指定的 file 中读取的。ldapadd 实用程序是作为到 ldapmodify 工具的硬链接实现的。当作为 ldapadd 调用时,会自动打开 –a(添加新条目)选项。

ldapadd 和 ldapmodify 都拒绝同一条目的重复属性名/值对。

选项 描述
-a 添加新的条目.缺省的是修改存在的条目.
-C 自动追踪引用.
-c 出错后继续执行程序并不中止.缺省情况下出错的立即停止.比如如果你的ldif 文件内的某个条目在数据库内并不存在,缺省情况下程序立即退出,但如果使用了该选项,程序忽略该错误继续执行.
-n 用于调试到服务器的通讯.但并不实际执行搜索.服务器关闭时,返回错误;服务器打开时,常和-v 选项一起测试到服务器是否是一条通路.
-v 运行在详细模块.在标准输出中打出一些比较详细的信息.比如:连接到服务器的ip地址和端口号等.
-M[M] 打开manage DSA IT 控制. -MM 把该控制设置为重要的.
-f file 从文件内读取条目的修改信息而不是从标准输入读取.
-x 使用简单认证.
-D binddn 指定搜索的用户名(一般为一dn 值).
-W 指定了该选项,系统将弹出一提示入用户的密码.它和-w 选项相对使用.
-w bindpasswd 直接指定用户的密码. 它和-W 选项相对使用.
-H ldapuri 指定连接到服务器uri(ip 地址和端口号,常见格式为 ldap://hostname:port).如果使用了-H 就不能使用-h 和-p 选项.
-h ldaphost 指定要连接的主机的名称/ip 地址.它和-p 一起使用.
-p ldapport 指定要连接目录服务器的端口号.它和-h 一起使用.如果使用了-h 和-p 选项就不能使用-H 选项.
-Z[Z] 使用StartTLS 扩展操作.如果使用-ZZ,命令强制使用StartTLS 握手成功.
-V 启用证书认证功能,目录服务器使用客户端证书进行身份验证,必须与-ZZ 强制启用TLS 方式配合使用,并且匿名绑定到目录服务器.
-e 设置客户端证书文件,例: -e cert/client.crt
-E 设置客户端证书私钥文件,例: -E cert/client.key

例子

ldapmodify -x -D "cn=root,dc=sitoi,dc=cn" -W -f modify.ldif

modify.ldif 中的记录 更新 原有的记录。

ldapdelete

ldapdelete - ldap 删除条目工具

ldapmodify 实用程序可打开与 LDAP 服务器的连接,绑定并修改或添加条目。条目信息是从标准输入或者从使用 –f 选项指定的 file 中读取的。ldapadd 实用程序是作为到 ldapmodify 工具的硬链接实现的。当作为 ldapadd 调用时,会自动打开 –a(添加新条目)选项。

ldapadd 和 ldapmodify 都拒绝同一条目的重复属性名/值对。

选项 描述
-d debuglevel 设置 LDAP 调试级别。适用于 ldapdelete 的有用调试级别包括:1:跟踪 2:包 4:选项 32:过滤器 128:访问控制 要请求多个类别的调试信息,请将掩码相加。例如,要请求跟踪和过滤器信息,请将 debuglevel 指定为 33。
-D bindDN 使用标识名 bindDN 绑定到目录。
-f file 从 file 而不是从标准输入读取条目删除信息。
-h ldaphost 指定运行 LDAP 服务器的备用主机。
-p ldapport 指定 LDAP 服务器侦听的备用 TCP 端口。
-W password 指定在 –P 选项中给出的客户端密钥数据库的口令。对于基于证书的客户端验证,此选项是必需的。在命令行上指定 password 会有安全问题,因为系统上的其他人可以通过 ps 命令看到口令。请改用 –j 从文件中指定口令。此选项与 –j 互斥。
-w passwd 使用 passwd 作为用于对目录进行验证的口令。当使用 –w passwd 指定用于验证的口令时,系统的其他用户可以通过 ps 命令在脚本文件中或者在 shell 历史记录中看到口令。如果在不使用此选项的情况下使用 ldapdelete 命令,则该命令将提示输入口令并从标准输入中读取口令。不与 –w 选项一起使用时,其他用户将看不到口令。

例子

ldapdelete -x -D "cn=Manager,dc=sitoi,dc=cn" -w sitoi "uid=Sitoi,ou=People,dc=sitoi,dc=cn"

Tips:

如果o或ou中有成员是不能删除的,那么o或ou不能删除。

OpenLDAP 常用命令的更多相关文章

  1. LDAP常用命令解析

    OpenLDAP常用命令讲解: ldapadd      -x   进行简单认证      -D   用来绑定服务器的DN      -h   目录服务的地址      -w   绑定DN的密码    ...

  2. Linux基础 - 系统优化及常用命令

    目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...

  3. Linux基础系统优化及常用命令

    # Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...

  4. 运维 07 Linux系统基础优化及常用命令

    Linux系统基础优化及常用命令   Linux基础系统优化 引言没有,只有一张图. Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令 ...

  5. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  6. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  7. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  8. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  9. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

随机推荐

  1. leetcode2. 两数相加

    使用迭代的方式 class Solution{ public: ListNode *addTwoNumbers(ListNode* l1,ListNode *l2) { ListNode *res=) ...

  2. [LeetCode] 321. Create Maximum Number 创建最大数

    Given two arrays of length m and n with digits 0-9 representing two numbers. Create the maximum numb ...

  3. 【cf比赛记录】Codeforces Round #605 (Div. 3)

    比赛传送门 Div3真的是暴力杯,比div2还暴力吧(这不是明摆的嘛),所以对我这种一根筋的挺麻烦的,比如A题就自己没转过头来浪费了很久,后来才醒悟过来了.然后这次竟然还上分了...... A题:爆搜 ...

  4. AtCoder Grand Contest 035 简要题解

    从这里开始 题目目录 Problem A XOR Circle 你发现,权值的循环节为 $a_0, a_1, a_0\oplus a_1$,然后暴力即可. Code #include <bits ...

  5. 分布式RPC框架实现

    现在大部分的互联网公司都会采用微服务架构,但具体实现微服务架构的方式有所不同,主流上分为两种,一种是基于Http协议的远程调用,另外一种是基于RPC方式的调用.两种方式都有自己的代表框架,前者是著名的 ...

  6. 将Prometheus alerts保存到elasticsearch

    Prometheus产生的告警通常会发送到alertmanager,当使用alertmanager时,其告警信息仅存在于alertmanager的内存中,无法持久化.故实现了小工具,用于将Promet ...

  7. linux kernel debug

    1. sysrq http://www.chinaunix.net/old_jh/4/902287.html 常用的SysRq命令(序列)  重启机器的SysRq命令序列是 k(SAK) s(sync ...

  8. C# Thread was being aborted

    先重现问题 1.新建一个aspx页面项目,插入两个页面WebForm1.aspx,WebForm2.aspx, WebForm1代码修改如下 protected void Page_Load(obje ...

  9. select2插件placeholder不显示的问题

    如果设置了select2的templateSelection,没做特殊处理的话placeholder会不显示,需要做特殊处理 templateSelection: function(repo){ if ...

  10. SoapException: Timed out while processing web services request

    情形:动态调用WebService时,语句method.Invoke异常. 异常信息为调用目标发生异常,从异常信息并不能看出问题所在,需要查看InnerException,如标题所述:处理web请求超 ...