LDAP 常用命令实操

简介: LDAP 常用命令实操

在 实操命令之前,得先有一个 LDAP 服务器,我就不搭建 AD域了,我可以直接在 linux 里面搭建一个简单的 LDAP 服务器,学习使用 , 我使用的云服务器操作系统是 ubuntu 18.04

ubuntu 中 ldap服务器搭建

我们可以简单的在 linux 里面搭建一个 LDAP 服务器,大概分为如下几步:

  • 修改 linux 的 host 文件,添加一个 host ,将自己的域名写进去
  • 安装 ldap
  • 配置 ldap
  • 添加 ldap 里面的组织结构
  • ldap 的查询指令使用

1、修改 linux 的 host 文件,添加一个 host ,将自己的域名写进去

127.0.1.1    xiaomotong.com

2、安装 ldap

直接执行命令安装 ldap

sudo apt-get install -y slapd ldap-utils

安装成功之后,ldap 的一系列命令我们都可以使用了,

# ldap
ldapadd                                       
ldapaddgroup                                  
ldapaddmachine                                
ldapadduser                                   
ldapaddusertogroup                            
ldapcompare      
ldapdelete       
ldapdeletegroup  
ldapdeletemachine
ldapdeleteuser
ldapsearch
ldapsetpasswd
ldapsetprimarygroup
ldapurl
ldapwhoami
ldapmodrdn         
ldappasswd         
ldaprenamegroup    
ldaprenamemachine  
ldaprenameuser
ldapinit           
ldapmodify         
ldapmodifygroup    
ldapmodifymachine  
ldapmodifyuser
ldapdeleteuserfromgroup 
ldapexop                
ldapfinger              
ldapgid                 
ldapid

ldap 涉及的命令很多,感兴趣的可以一个一个的玩个够,因为 ldap 服务器绝大部分是都是在做查询操作,特别是在 查询和添加的比例在 10:1 以上的时候,更能体现出 ldap 服务器的高性能,他可是所有数据库中最快的数据库了

3、配置 ldap

做一个 ldap 的基本配置

sudo dpkg-reconfigure slapd
  • 配置自己的 dns 域名

  • 配置好自己的密码,这个密码很重要,可不要忘记了,建议输个简单的
  • 关闭防火墙配置,ldap 服务器默认的端口号是 389,加密的时候使用的端口号是 636
ufw allow proto tcp from any to 127.0.0.1 port 389
ufw allow proto tcp from any to 127.0.0.1 port 636

4、添加 ldap 里面的组织结构

我们可以使用 ldapadd 命令添加 ldap 的组织结构,我们可以使用 ldapadd -X或者是其他参数来查看帮助文档

对于添加 ldap 组织结构,我们简单的一般会使用这几个参数:

  • -x

简单认证一下

  • -D

绑定 DN

  • -W

需要提供绑定用户的密码

  • -f

指定读取的文件

我们来尝试添加一些组合用户吧

  • 我们在域下面添加几个 ou 组织单元
  • People
  • dev
  • golang
  • c++
  • java

我们任意命名ldap 的文件 add.ldif ,可以随便命名主要是里面的内容需要懂

dn: ou=People,dc=xiaomotong,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=dev,dc=xiaomotong,dc=com
objectClass: organizationalUnit
ou: dev
dn: ou=golang,ou=dev,dc=xiaomotong,dc=com
objectClass: organizationalUnit
ou: golang
dn: ou=clang,ou=dev,dc=xiaomotong,dc=com
objectClass: organizationalUnit
ou: clang
dn: ou=java,ou=dev,dc=xiaomotong,dc=com
objectClass: organizationalUnit
ou: java

上述文本表达的意思很简单,也很明白

dn ,上篇文章我们说过,他是代表一个条本的唯一名字,辨别名,例如 dn: ou=java,ou=dev,dc=xiaomotong,dc=com 我们就可以从右向左来看,域名是dc=xiaomotong,dc=com,父组是ou=dev 自己这个组是ou=java

# ldapadd -x -D cn=admin,dc=xiaomotong,dc=com -W -f add.ldif

执行上述添加命令,输入刚才我们设置的密码

我们可以看到,只添加成功了 3 条,添加到 c++ 的时候,ldap 给我们报语法错误了,因为我们有 ++ 字符,那么我们将其修改成 clang 吧,再来看看效果

# ldapadd -x -D cn=admin,dc=xiaomotong,dc=com -W -f add.ldif

我们可以看到,由于文本中前面几个信息,People 这个组,已经存在了,因此 ldap 也不继续向下执行了

那么我们将后面的 2 条数据(clang ou 和 java ou) ,拷贝到 文件 add2.ldif ,来继续实践添加组织结构

add2.ldif

# ldapadd -x -D cn=admin,dc=xiaomotong,dc=com -W -f add2.ldif

看到结果,正确将数据添加到 ldap 中,没有问题

5、ldap 的查询指令使用

上面我们说到 ldap 支持的命令很多,我们查询的时候可以使用 ldapsearch 命令

我们不知道 ldapsearch 命令如何使用,我们可以随便输入一个参数,就可以看到具体的帮助信息了,例如

# ldapsearch -X

查询的时候,使用参数比较多的是如下几个,其他的参数也不难,感兴趣的可以一个一个的尝试一下:

  • -x

简单认证一下

  • -p

指定服务器端口

  • -h

指定服务器地址

  • -b

基于哪个 base dn 进行查询

  • -LLL

以 LDIF 格式打印响应结果

那么我们来简单查询一下 xiaomotong.com 里面都有哪些组织结构

# ldapsearch -x -LLL -b dc=xiaomotong,dc=com

没毛病,我们刚才添加的组织结构都能够查询出来

我们也可以使用上次文章介绍到的 ldap 可视化工具查看我们的 ldap 组织结构信息

  • Softerra LDAP Browser 4.5

基本上会如何添加组织结构,和查询组织结构,那么我们就有办法将 ldap 中的数据同步到我们自己的系统中了

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是阿兵云原生,欢迎点赞关注收藏,下次见~

相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
10月前
|
缓存 应用服务中间件 Linux
Nginx安装及其常用命令(实操版)(一)
Nginx安装及其常用命令(实操版)
203 1
|
9月前
|
运维 安全 数据安全/隐私保护
Jumpserver安装笔记
三分钟搭建自己的Jumpserver
|
10月前
|
Ubuntu Java Linux
LDAP 常用命令实操
在 实操命令之前,得先有一个 LDAP 服务器,我就不搭建 AD域了,我可以直接在 linux 里面搭建一个简单的 LDAP 服务器,学习使用 , 我使用的云服务器操作系统是 ubuntu 18.04 ubuntu 中 ldap服务器搭建
167 0
|
10月前
|
缓存 负载均衡 应用服务中间件
Nginx安装及其常用命令(实操版)(二)
Nginx安装及其常用命令(实操版)
116 1
|
12月前
最新整理之--sftp命令合集
最新整理之--sftp命令合集
|
Linux 开发工具 vr&ar
Linux【实操篇】—— 远程登录、远程文件传输、vi和vim工具的使用方法(2)
Linux【实操篇】—— 远程登录、远程文件传输、vi和vim工具的使用方法(2)
303 0
Linux【实操篇】—— 远程登录、远程文件传输、vi和vim工具的使用方法(2)
|
运维 安全 Linux
Linux【实操篇】—— 远程登录、远程文件传输、vi和vim工具的使用方法(1)
Linux【实操篇】—— 远程登录、远程文件传输、vi和vim工具的使用方法(1)
200 0
Linux【实操篇】—— 远程登录、远程文件传输、vi和vim工具的使用方法(1)
|
网络协议 安全 测试技术
手把手教你linux下配置vsftp服务器(以CentOS为例)--非常的详细
VSFTP   简介:VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。
1819 0