• 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
    
  • 相关阅读:
    VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布 Inchroy's Blog 博客频道 CSDN.NET
    编写可丢弃的代码
    c++ using namespace std; 海明威 博客园
    解决MySQL server has gone away
    nginx upstream 调度策略
    (2006, 'MySQL server has gone away') 错误解决 dba007的空间 51CTO技术博客
    Linux IO模型漫谈(2) 轩脉刃 博客园
    redis源码笔记 initServer 刘浩de技术博客 博客园
    MySQLdb批量插入数据
    词库的扩充百度百科的抓取你知道这些热词吗? rabbit9898 ITeye技术网站
  • 原文地址:https://www.cnblogs.com/eoalfj/p/12012651.html
Copyright © 2020-2023  润新知