在 实操命令之前,得先有一个 LDAP 服务器,我就不搭建 AD域了,我可以直接在 linux 里面搭建一个简单的 LDAP 服务器,学习使用 , 我使用的云服务器操作系统是 ubuntu 18.04
我们可以简单的在 linux 里面搭建一个 LDAP 服务器,大概分为如下几步:
127.0.1.1 xiaomotong.com
直接执行命令安装 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 服务器的高性能,他可是所有数据库中最快的数据库了
做一个 ldap 的基本配置
sudo dpkg-reconfigure slapd
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
我们可以使用 ldapadd 命令添加 ldap 的组织结构,我们可以使用 ldapadd -X
或者是其他参数来查看帮助文档
对于添加 ldap 组织结构,我们简单的一般会使用这几个参数:
简单认证一下
绑定 DN
需要提供绑定用户的密码
指定读取的文件
我们来尝试添加一些组合用户吧
我们任意命名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 中,没有问题
上面我们说到 ldap 支持的命令很多,我们查询的时候可以使用 ldapsearch 命令
我们不知道 ldapsearch 命令如何使用,我们可以随便输入一个参数,就可以看到具体的帮助信息了,例如
# ldapsearch -X
查询的时候,使用参数比较多的是如下几个,其他的参数也不难,感兴趣的可以一个一个的尝试一下:
简单认证一下
指定服务器端口
指定服务器地址
基于哪个 base dn 进行查询
以 LDIF 格式打印响应结果
那么我们来简单查询一下 xiaomotong.com 里面都有哪些组织结构
# ldapsearch -x -LLL -b dc=xiaomotong,dc=com
没毛病,我们刚才添加的组织结构都能够查询出来
我们也可以使用上次文章介绍到的 ldap 可视化工具查看我们的 ldap 组织结构信息
基本上会如何添加组织结构,和查询组织结构,那么我们就有办法将 ldap 中的数据同步到我们自己的系统中了
朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力
好了,本次就到这里
技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。
我是阿兵云原生,欢迎点赞关注收藏,下次见~