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

最新文章

  1. NSDICTIONARY获取内容的CRASH
  2. Ubuntu环境下手动配置zookeeper
  3. 学习笔记之DB2 9 Fundamentals 730
  4. Spring中argNames的含义
  5. iOS多线程开发之离不开的GCD(上篇)
  6. (转载)MQ基本操作
  7. python相关资料
  8. Hadoop实战训练————MapReduce实现PageRank算法
  9. [转载]MySQL运行状态show status详解
  10. [SCOI2016]美味
  11. CentOS6.5内 Oracle 11GR2静默安装
  12. 第二篇:用Android Studio编写Hello World
  13. 使用layui框架做分页
  14. 漏洞复现——Apache HTTPD多后缀解析漏洞
  15. HPUX and AIX SSH 互信
  16. 生成输出 URL(16.2)
  17. 设置JFrame背景图片
  18. NO--15 微信小程序,scroll-view选项卡和跳转
  19. poj 1466 Girls and Boys 二分图的最大匹配
  20. leetcode 13 Roman to Integer 罗马数组转整型

热门文章

  1. flask源码剖析系列(系列目录)
  2. Django- 开发通用且万能的的权限框架组件
  3. Python面向对象01 /面向对象初识、面向对象结构、类、self、实例化对象
  4. 使用redis完成秒杀系统原理
  5. cropper.js 二次开发:截图并下载图片
  6. vue : 检测用户上传的图片的宽高
  7. MySQL数据库---表的操作
  8. C++语法小记---类型检测
  9. Python基础点记录2
  10. windows 下部署 .netcore 到 iis