zoukankan      html  css  js  c++  java
  • LDAP 使用记录

    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
    
  • 相关阅读:
    tcp/ip 调优示例
    【ASP.NET】IHttpHandler和IHttpModule
    【.NET框架】Dapper ORM 用法—Net下无敌的ORM
    【JavaScript】setinterval和setTimeout的区别
    【javascript】基于javascript的小时钟
    【ASP.NET】必须知道的ASP.NET核心处理
    【ASP.NET MVC】 路由机制:命名路由
    【ASP.NET MVC】提高页面加载速度:脚本优化
    SMTP协议--在cmd下利用命令行发送邮件
    【ASP.NET MVC】HTML5+MVC上传文件显示进度
  • 原文地址:https://www.cnblogs.com/eoalfj/p/12012651.html
Copyright © 2011-2022 走看看