LDAP 命令记录

工作中用到了 LDAP,做一个简单记录。

概念性的东西不做阐述,只是记录常用命令,以便将来回顾。

想多做了解可以参考这个系列文章: https://blog.csdn.net/liumiaocn/category_8355958.html

搭建 LDAP 服务器

首先,快速搭建一个 openldap 服务,便于练习

参照 https://www.cnblogs.com/eoalfj/p/11837415.html

LDAP 操作

以下命令都需要在容器内执行

添加

添加用户

添加数据,把信息写入文件 ldif 文件,指定该文件进行添加操作。

文件 barbara.ldif

  1. dn: cn=Barbara Jensen,dc=example,dc=org
  2. objectClass: inetOrgPerson
  3. cn: Barbara Jensen
  4. cn: Babs Jensen
  5. sn: Jensen
  6. title: the world's most famous mythical manager
  7. mail: bjensen@example.com
  8. uid: bjensen

执行添加

简单解释一下:

-H 参数指定服务的IP端口,本例中,指向本地

-D 管理员账户

-w 密码

-f 指定文件

  1. ldapadd -H ldap://localhost:389 -D "cn=admin,dc=example,dc=org" -w admin -f barbara.ldif

验证添加

查询,验证添加

  1. ldapsearch -H ldap://localhost:389 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w admin

验证组织

思路和添加用户一样,创建添加文件,指定文件进行添加操作

创建文件 orgunits.ldif

  1. dn: ou=People,dc=example,dc=org
  2. objectclass: top
  3. objectclass: organizationalUnit
  4. ou: People
  5. dn: ou=Servers,dc=example,dc=org
  6. objectclass: top
  7. objectclass: organizationalUnit
  8. ou: Servers

执行添加

  1. ldapadd -H ldap://localhost:389 -D "cn=admin,dc=example,dc=org" -w admin -f orgunits.ldif

验证添加

查询,验证组织已添加

  1. ldapsearch -H ldap://localhost:389 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w admin

查询

-b 参数,指定查询根节点

-D 执行命令的用户

-w 密码

最后可以附带查询规则

  1. ldapsearch -H ldap://localhost:389 -b "dc=example,dc=org" -D "cn=admin,dc=example,dc=org" -w admin "ou=S*"

修改

修改属性

创建 modifybarbara.ldif 文件,指定修改哪个 DN,操作类型 modify 代表修改,修改字段及修改的值。

  1. dn: cn=Barbara Jensen,dc=example,dc=org
  2. changetype: modify
  3. replace: title
  4. title: one of the world's most famous mythical manager

执行修改

  1. ldapmodify -H ldap://localhost:389 -D "cn=admin,dc=example,dc=org" -w admin -f modifybarbara.ldif

调整部门

文件 modifybarbara3.ldif 移动到 ou=People 中

  1. dn: cn=Barbara Jensen,dc=example,dc=org
  2. changetype: modrdn
  3. newrdn: uid=bjensen
  4. deleteoldrdn: 0
  5. newsuperior: ou=people,dc=example,dc=org

修改

  1. ldapmodify -a -H ldap://localhost:389 -D "cn=admin,dc=example,dc=org" -w admin -f modifybarbara3.ldif

验证结果

检查结果

  1. ldapsearch -H ldap://localhost:389 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w admin

修改uid

文件 modifybarbara4.ldif 修改 uid

  1. dn: uid=bjensen,ou=people,dc=example,dc=org
  2. changetype: modrdn
  3. newrdn: uid=bjensenuid
  4. deleteoldrdn: 0
  5. newsuperior: ou=people,dc=example,dc=org

修改

  1. ldapmodify -a -H ldap://localhost:389 -D "cn=admin,dc=example,dc=org" -w admin -f modifybarbara4.ldif

验证结果

检查结果,结果显示两个 uid,不符合直觉,但是用不到,暂不深究

  1. ldapsearch -H ldap://localhost:389 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w admin

删除

删除属性

文件 delete1.ldif 删除description 属性

  1. dn: uid=bjensenuid,ou=people,dc=example,dc=org
  2. changetype: modify
  3. delete: description

修改

  1. ldapmodify -a -H ldap://localhost:389 -D "cn=admin,dc=example,dc=org" -w admin -f delete1.ldif

验证结果

  1. ldapsearch -H ldap://localhost:389 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w admin

删除条目

删除条目 命令方式

  1. ldapdelete -H ldap://localhost:389 -D "cn=admin,dc=example,dc=org" -w admin "uid=bjensenuid,ou=People,dc=example,dc=org"

删除条目,文件方式 vi delete.ldif

  1. dn: uid=bjensenuid,ou=people,dc=example,dc=org
  2. changetype: delete

执行

  1. ldapmodify -H ldap://localhost:390 -D "cn=admin,dc=example,dc=org" -w admin -f delete.ldif

为了后续测试,再次添加用户

再次添加 cn=Barbara Jensen,dc=example,dc=org

  1. ldapadd -H ldap://localhost:389 -D "cn=admin,dc=example,dc=org" -w admin -f barbara.ldif

为用户修改密码

命令行修改密码

不指定密码,会直接生成新密码

  1. ldappasswd -H ldap://localhost:389 -D "cn=admin,dc=example,dc=org" -w admin "cn=Barbara Jensen,dc=example,dc=org"

验证密码生效

  1. ldapsearch -H ldap://localhost:389 -b "cn=Barbara Jensen,dc=example,dc=org" -D "cn=Barbara Jensen,dc=example,dc=org" -w IFj4CipL

指定密码修改,用户自己操作,修改为 abc123

  1. ldappasswd -H ldap://localhost:389 -D "cn=Barbara Jensen,dc=example,dc=org" -w IFj4CipL -s abc123

验证密码生效

  1. ldapsearch -H ldap://localhost:389 -b "cn=Barbara Jensen,dc=example,dc=org" -D "cn=Barbara Jensen,dc=example,dc=org" -w abc123

文件方式修改密码

文件 pass1.ldif 修改密码, ldapmodify 方式修改密码

  1. dn: cn=Barbara Jensen,dc=example,dc=org
  2. changetype: modify
  3. replace: userPassword
  4. userPassword: babspw

修改

  1. ldapmodify -a -H ldap://localhost:389 -D "cn=admin,dc=example,dc=org" -w admin -f pass1.ldif

验证密码生效

  1. ldapsearch -H ldap://localhost:389 -b "cn=Barbara Jensen,dc=example,dc=org" -D "cn=Barbara Jensen,dc=example,dc=org" -w babspw

LDAP 使用记录的更多相关文章

  1. ldap配置记录

    记录一下最近研究ldap+nfs的情况 ldap这个东西上次研究nis的时候就有人说那是上个世纪的老东西了,不应该继续使用.虽然意识到如此但时间不够还是使用了nis,这次乘着重做就干脆切换到ldap, ...

  2. LDAP介绍

    摘自: http://www.blogjava.net/allen-zhe/archive/2007/03/19/104740.html LDAP介绍 原文:http://ldapman.org/ar ...

  3. 什么是LDAP?

    LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根据需要定制.与X ...

  4. 初识ldap

    什么是LDAP? LDAP的英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的, 但是简单多了并且可以根据需要定制.与 ...

  5. LDAP & Implentation

    LDAP: LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根据需 ...

  6. : LDAP & Implementation

    LDAP LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根据需要 ...

  7. APACHE + LDAP 的权限认证配置方法

    原文地址:http://www.chinaunix.net/jh/49/627646.html 一.前言 很多朋友希望利用 Apache 通过 LDAP 进行用户认证及权限管理.     通过多次试验 ...

  8. 【LDAP】LDAP介绍

    原文:http://ldapman.org/articles/intro_to_ldap.html原文作者:Michael Donnelly 什么是LDAP? LDAP的英文全称是Lightweigh ...

  9. LDAP安装

    一.介绍 LDAP 全称:Lightweight Directory Access Protocol,即“轻量级目录访问协议”. LDAP目录以树状的层次结构来存储数据.如果你对自顶向下的DNS树或U ...

随机推荐

  1. 数据可视化之PowerQuery篇(十)如何将Excel的PowerQuery查询导入到Power BI中?

    https://zhuanlan.zhihu.com/p/78537828 最近碰到星友的一个问题,他是在Excel的PowerQuery中已经把数据处理好了,但是处理后的数据又想用PowerBI来分 ...

  2. 数据可视化实例(九): 边缘箱形图(matplotlib,pandas)

    https://datawhalechina.github.io/pms50/#/chapter7/chapter7 边缘箱形图 (Marginal Boxplot) 边缘箱图与边缘直方图具有相似的用 ...

  3. 一张PDF了解JDK10 GC调优秘籍-附PDF下载

    目录 简介 Java参数类型 Large Pages JIT调优 总结 简介 今天我们讲讲JDK10中的JVM GC调优参数,JDK10中JVM的参数总共有1957个,其中正式的参数有658个. 其实 ...

  4. disconf原理解析

    前有了解过disconf,也知道它是基于zookeeper来做的,特意写了文章记录下自己的见解.如有错误,欢迎指正. 1.disconf-web会在启动时,将自身的host和配置文件注册到zookee ...

  5. LGTB 与 序列

    题目描述 LGTB 有一个长度为 N 的序列 A ,现在他想构造一个新的长度为 N 的序列 B ,使得 B 中的任意两个数都互质.并且他要使 \sum_{1\le i\le N}|A_i-B_i| 最 ...

  6. 数字货币交易所(火币为例)如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器?

    一般点账户名——设置——安全设置中开通虚拟MFA两步验证 具体步骤见链接  数字货币交易所(火币为例)如何使用二次验证码/虚拟MFA/两步验证/谷歌验证器? 二次验证码小程序于谷歌身份验证器APP的优 ...

  7. Python之threading初探

    threading库主要用于基于线程的并行,核心就是Thread类   class threading.Thread(group=None, target=None, name=None, args= ...

  8. Python 什么时候会被取代?

      以下是译文: Python经过了几十年的努力才得到了编程社区的赏识.自2010年以来,Python得到了蓬勃发展,并最终超越了C.C#.Java和JavaScript. 但是,这种趋势将持续到什么 ...

  9. JVM系列之:Contend注解和false-sharing

    目录 简介 false-sharing的由来 怎么解决? 使用JOL分析 Contended在JDK9中的问题 padded和unpadded性能对比 Contended在JDK中的使用 总结 简介 ...

  10. linux命令笔记记录(自用)

    1.解除yum锁定: sudo rm -rf /var/run/yum.pid 2.删除文件夹: rm -rf /var/log/httpd/access 3.更新pip: python -m pip ...