LDAP 命令记录

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

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

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

搭建 LDAP 服务器

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

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

LDAP 操作

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

添加

添加用户

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

文件 barbara.ldif:

dn: cn=Barbara Jensen,dc=example,dc=org
objectClass: inetOrgPerson
cn: Barbara Jensen
cn: Babs Jensen
sn: Jensen
title: the world's most famous mythical manager
mail: bjensen@example.com
uid: bjensen

执行添加

简单解释一下:

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

-D 管理员账户

-w 密码

-f 指定文件

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

验证添加

查询,验证添加

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

验证组织

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

创建文件 orgunits.ldif

dn: ou=People,dc=example,dc=org
objectclass: top
objectclass: organizationalUnit
ou: People dn: ou=Servers,dc=example,dc=org
objectclass: top
objectclass: organizationalUnit
ou: Servers

执行添加

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

验证添加

查询,验证组织已添加

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

查询

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

-D 执行命令的用户

-w 密码

最后可以附带查询规则

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 代表修改,修改字段及修改的值。

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

执行修改

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

调整部门

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

dn: cn=Barbara Jensen,dc=example,dc=org
changetype: modrdn
newrdn: uid=bjensen
deleteoldrdn: 0
newsuperior: ou=people,dc=example,dc=org

修改

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

验证结果

检查结果

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

修改uid

文件 modifybarbara4.ldif 修改 uid

dn: uid=bjensen,ou=people,dc=example,dc=org
changetype: modrdn
newrdn: uid=bjensenuid
deleteoldrdn: 0
newsuperior: ou=people,dc=example,dc=org

修改

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

验证结果

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

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

删除

删除属性

文件 delete1.ldif 删除description 属性

dn: uid=bjensenuid,ou=people,dc=example,dc=org
changetype: modify
delete: description

修改

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

验证结果

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

删除条目

删除条目 命令方式

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

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

执行

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

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

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

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

为用户修改密码

命令行修改密码

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

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

验证密码生效

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

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

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

验证密码生效

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 方式修改密码

dn: cn=Barbara Jensen,dc=example,dc=org
changetype: modify
replace: userPassword
userPassword: babspw

修改

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

验证密码生效

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. Linux08 /Docker

    Linux08 /Docker 目录 Linux08 /Docker 1. docker简介/安装 2. Docker镜像加速器的设置 3. 核心三要素 镜像仓库/Registry 镜像/Image: ...

  2. 08 jwt源码剖析

    08 jwt源码剖析 目录 08 jwt源码剖析 1. jwt认证流程 2.jwt创建token 2.1 原理 2.2 jwt校验token 3. jwt使用 4. 源码剖析 总结: JSON Web ...

  3. Django框架11 /form组件、modelForm组件

    Django框架11 /form组件.modelForm组件 目录 Django框架11 /form组件.modelForm组件 1. form组件介绍 2. form常用字段与插件 3. form所 ...

  4. 利用宝塔和rainloop搭建咱的邮箱

    需要咱准备的东东:一枚域名.服务器需根据情况开放25.110.143.465.993端口.宝塔邮局管理器.rainloop.LNMP或者LAMP. 搭建步骤: 1.安装宝塔邮局管理器: 2.设置宝塔邮 ...

  5. 集成Facebook SDK之Facebook登录

    前言 这几天应公司需求,需要在项目中接入facebook的登录,现在闲下来后再次巩固一下! 准备工作 保证自己的网络已经翻墙,能够进入Facebook网页 准备一个FB的开发者账号,如果没有可以免费申 ...

  6. 【Redis学习专题】- Redis主从+哨兵集群部署

    集群版本: redis-4.0.14 集群节点: 节点角色 IP redis-master 10.100.8.21 redis-slave1 10.100.8.22 redis-slave2 10.1 ...

  7. 题解 洛谷 P3340 【[ZJOI2014]星系调查】

    根据题意,发现题目中的图,其实就是一颗树或者是一颗基环树,每个节点上有一个点对\((x,y)\),每次询问为给定端点,找一条直线到端点间的所有点的距离之和最小. 设这条直线为\(y=kx+b\),根据 ...

  8. 2. 妈呀,Jackson原来是这样写JSON的

    没有人永远18岁,但永远有人18岁.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众 ...

  9. js冒泡排序和数组去重

    1.冒泡排序 <script>//声明一个数组 var arr=[1,88,66,22,35,65,4,52];//自执行函数 (function maopao(){ for(var i= ...

  10. 多个activity的博客参考,用mainactivity 调用 明天阅读一下

    https://blog.csdn.net/hbwxy521/article/details/53101019