一、OpenLDAP命令汇总

  • ldapsearch:搜索 OpenLDAP 目录树条目。
  • ldapadd:通过 LDIF 格式,添加目录树条目。
  • ldapdelete:删除 OpenLDAP 目录树条目。
  • ldapmodify:修改 OpenLDAP 目录树条目。
  • ldapwhoami:效验 OpenLDAP 用户的身份。
  • ldapmodrdn:判断 OpenLDAP 目录树 DN 条目。
  • ldapcompare:判断 DN 值和指定参数值是否属于同一个条目。
  • ldappasswd:修改 OpenLDAP 目录树用户条目实现密码重置。
  • slaptest:验证 slapd.conf 文件或 cn=配置目录。
  • slapindex:创建 OpenLDAP 目录树索引,提供查询效率。
  • slapcat:将数据小牧转换为 OpenLDAP 的 LDIF 文件。

二、OpenLDAP命令用例

2.1 ldapsearch 命令

ldapsearch 命令可根据用户定义的查询条件,对 OpenLDAP 目录树进行查找以及检索目录树相关条目。

1. 查找目录树所有条目

ldapsearch -x -b "dc=kwang,dc=com"

2. 根据过滤条件查找条目

ldapsearch -x -b "dc=kwang,dc=com" '(cn=kwanggroup)'  #根据cn过滤
ldapsearch -x -b "dc=kwang,dc=com" '(uid=kwang)'   #根据用户id过滤

2.2 ldapadd 命令

根据 ldif 文件添加条目

ldapadd -x -w <pwd> -D "cn=Manager,dc=kwang,dc=com" -f base.ldif

base.ldif 内容容下:

dn: dc=kwang,dc=com
dc: kwang
objectClass: top
objectClass: domain dn: ou=People,dc=kwang,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit dn: ou=Group,dc=kwang,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit

2.3 ldapmodify 命令

ldapmodify 命令是固定的,主要是通过配置文件实现不同的修改功能。

ldapmodify -x -D "cn=Manager,dc=kwang,dc=com" -w <pwd> -f modi.ldif

1. 向条目下添加成员参数

modi.ldif 文件如下,表示向 admin 这个组中添加成员 kwang。

dn: cn=admin,ou=Group,dc=dc=kwang,dc=com
changetype: modify
add: memberUid
memberUid: kwang

2. 修改条目的某个值

modi.ldif 文件如下,表示修改 uid=kwang 这个用户的 uidNumber 参数。

dn: uid=kwang,ou=People,dc=kwang,dc=com
changetype: modify
replace: uidNumber
uidNumber:

3. 删除条目下某个参数

modi.ldif 文件如下,表示删除 uid=kwang 这个用户下 pwdAccountLockedTime 参数。

dn: uid=kwang,ou=People,dc=kwang,dc=com
changetype: modify
delete: pwdAccountLockedTime

2.4 ldapdelete 命令

从当前目录树中删除 uid 为 kwang 的用户,删除前需要使用 ldapsearch 查看 kwang 的 DN 名称。

ldapsearch -x -b "dc=kwang,dc=com" '(uid=kwang)'  # 查看uid=kwang的dn名称,然后执行删除操作
ldapdelete -x -D cn=Manager,dc=kwang,dc=com -w <pwd> "uid=kwang,ou=People,dc=kwang,dc=com"

以上四个命令是平时维护OpenLDAP目录树时最常用的操作,其他命令后续不断完善。

【参考资料】

[1]. https://wiki.shileizcc.com/confluence/pages/viewpage.action?pageId=39223593

OpenLDAP管理命令详解的更多相关文章

  1. 云计算:Linux运维核心管理命令详解

    云计算:Linux运维核心管理命令详解 想做好运维工作,人先要学会勤快: 居安而思危,勤记而补拙,方可不断提高: 别人资料不论你用着再如何爽那也是别人的: 自己总结东西是你自身特有的一种思想与理念的展 ...

  2. Linux就业技术指导(五):Linux运维核心管理命令详解

    一,Linux核心进程管理命令 1.1 ps:查看进程 1.1.1 命令解释 功能说明 ps命令用于列出执行ps命令的那个时刻的进程快照,就像用手机给进程照了一张照片.如果想要动态地显示进程,就需要使 ...

  3. linux初级学习笔记八:linux权限管理及权限管理命令详解!(视频序号:04_2)

    本节学习的命令:chown,chgrp,chmod,openssl,umask 本节学习的技能: 文件权限详解及对其的操作 生成随机密码命令 用遮罩码对用户权限进行修改 站在用户登陆的角度来说SHEL ...

  4. 4-1 Linux用户管理命令详解

    1. /etc/passwd 格式 用户名:密码:UID:GID:注释:家目录:默认shell useradd  [options ]    USERNAME -u: UID  要大于等于500, - ...

  5. crictl 命令 - Kubernetes 管理命令详解

    描述:crictl 是 CRI 兼容的容器运行时命令行对接客户端, 你可以使用它来检查和调试 Kubernetes 节点上的容器运行时和应用程序.由于该命令是为k8s通过CRI使用containerd ...

  6. LINUX的磁盘管理du命令详解

    LINUX的磁盘管理du命令详解 du(disk usage)命令可以计算文件或目录所占的磁盘空间.没有指定任何选项时, 它会测量当前工作目录与其所有子目录,分别显示各个目录所占的快数,最后才显示工作 ...

  7. Linux服务器,服务管理--systemctl命令详解,设置开机自启动

    Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合,在CentOS 7就开始被使用了. 摘要: syst ...

  8. Linux服务管理 systemctl命令详解

    Linux服务器,服务管理--systemctl命令详解,设置开机自启动 syetemclt就是service和chkconfig这两个命令的整合     任务 旧指令 新指令 使某服务自动启动 ch ...

  9. yum(Fedora和RedHat以及SUSE中的Shell前端软件包管理器)命令详解

    yum官方网站:http://yum.baseurl.org/ Fedora对于yum的介绍:http://fedoraproject.org/wiki/Yum yum(全称为 Yellow dog ...

随机推荐

  1. 用js刷剑指offer(反转链表)

    题目描述 输入一个链表,反转链表后,输出新链表的表头. 牛客网链接 js代码 /*function ListNode(x){ this.val = x; this.next = null; }*/ f ...

  2. python调用cv2.findContours时报错:ValueError: not enough values to unpack (expected 3, got 2)

    OpenCV旧版,返回三个参数: im2, contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_S ...

  3. Selenium(一)自动化测试简介

    1.软件开发流程 产品分析需求--架构师确认系统包含哪些模块--开发编码--开发和测试一起做单元测试--测试开展版本(集成)测试(使用手工测试,测试通过后,才开始设计脚本)--测试开展系统测试--最后 ...

  4. [Javascript] Create an Image with JavaScript Using Fetch and URL.createObjectURL

    Most developers are familiar with using img tags and assigning the src inside of HTML. It is also po ...

  5. Catalan Number-卡特兰数入门

    卡特兰数 首先,我们设f(n)=序列个数为n的出栈序列种数.同时,我们假定,从开始到栈第一次出到空为止,这段过程中第一个出栈的序数是k.特别地,如果栈直到整个过程结束时才空,则k=n. 令h(0)=1 ...

  6. sql server 的 out 和output

    sql中out与output   --SQLQuery Create By Faywool         create proc Proc_OutPutTest--创建 @numA int,--nu ...

  7. python pass del eval

    pass python中空代码块是非法的,解决的方法就是在语句块中加上一个pass语句 eval >>> eval("print('hellowrold')")h ...

  8. rxjs——subject和Observable的区别

    原创文章,转载请注明出处 理解 observable的每个订阅者之间,是独立的,完整的享受observable流动下来的数据的. subject的订阅者之间,是共享一个留下来的数据的 举例 这里的cl ...

  9. NSString的导出

    字符串的导出,写到某个文件中去 void stringExport(){ NSString *str=@"123456"; //if file not exist will not ...

  10. HTTPie 工具使用入门

    HTTPie 是一个 HTTP 的命令行客户端,目标是让 CLI 和 web 服务之间的交互尽可能的人性化.这个工具提供了简洁的 http 命令,允许通过自然的语法发送任意 HTTP 请求数据,展示色 ...