大家好,又见面了,我是你们的朋友全栈君。
1.什么是ldap服务器
ldap是统一认证服务,它的优点是存储用户认证等不经常改变的信息,有清晰的组织结构。
ldap条目概念:基准DN,例如dc=company,dc=com,DN,例如cn=test,dc=company,dc=com,一个DN就是一个条目,RDN是相对DN,具有唯一性,上面例子的DN的RDN就是cn=test
2.下载openldap
openldap服务器是比较流行的服务器,下载路径在如下地址中,
http://www.openldap.org/software/download/
本文安装的openldap版本为2.4.47
3.安装过程中会提示缺少依赖项,需到oracle官网下载Berkeley DB 6.0.20以前版本,下载地址如下
下载完成后编译并安装Berkeley DB到指定目录
cd db-5.3.28/build_unix/
../dist/configure -prefix=/usr/local/BerkeleyDB
make
make install
4.上传openldap到服务器并解压,开始编译安装,
开始前需设置编译参数,如下所示
export CPPFLAGS="-I/usr/local/BerkeleyDB/include"
export LDFLAGS="-L/usr/local/BerkeleyDB/lib"
export LD_LIBRARY_PATH="/usr/local/BerkeleyDB/lib"
设置完成后可以进行openldap的安装了
进入openldap源代码目录,
./configure --prefix=/data/ldap
安装完成后的效果如下所示,etc目录显示的是配置文件ldapbin目录显示的ldap的客户端工具,sbin目录显示的是服务器相关执行文件,libexec下是ldap服务启动程序,.ldif是ldap特定的文件格式,这种格式的文件用于ldap数据的添加
5.配置ldap配置文件,并启动ldap,启动完成后添加超级管理员账号
这个版本配置文件是使用的slapd.d下的文件,而不是slapd.conf,slapd.d是通过slapd.conf生成的
slapd.conf下的主要配置信息如下,证书的生成在我的另一篇博文中
access to dn.base="" by * read
access to dn.base="cn=Subschema" by * read
access to *
by * auth
by dn.exact="cn=admin,dc=example-test,dc=com" manage
by * none #配置权限控制,格式为access to what(什么内容) by who(谁) access(权限)
# rootdn can always read and write EVERYTHING!
TLSCACertificateFile /data/ldap/cert/ca.crt #ldaps使用的配置证书,证书通过easy-rsa生成
TLSCertificateFile /data/ldap/cert/server.crt
TLSCertificateKeyFile /data/ldap/cert/server.key
TLSCipherSuite ALL:!TLSv1.1:TLSv1.2:!SSLv2:!aNULL:!eNULL:!MD5:!MEDIUM:!LOW:!EXPO
RT:@STRENGTH #配置加密套件
#######################################################################
# MDB database definitions
#######################################################################
database mdb #后端存储的数据库类型
maxsize 1073741824
suffix "dc=example-test,dc=com"
rootdn "cn=admin,dc=example-test,dc=com"
rootpw {SSHA}hr1NdaaaieqgrtttutrurtuaXD0 #密码通过客户端工具生成slappasswd -s passwd
directory /data/ldap/var/openldap-data
index objectClass eq
slapd.d生成方式如下
slaptest -f /data/ldap/etc/openldap/slapd.conf -F /data/ldap/etc/openldap/slapd.d
之后启动ldap
/data/ldap/libexec/slapd -F /data/ldap/etc/openldap/slapd.d -h "ldaps:///"
添加超级管理员条目
[root@localhost ldap]# more example.ldif
dn: dc=example-test,dc=com
objectclass: dcObject
objectclass: organization
o: example-tesCompany
dc: example-test
dn: cn=admin,dc=example-test,dc=com
objectclass: organizationalRole
cn: admin
##注意:行中填写的内容最后不能有空格,条目之间用空行隔开
添加条目
ldapadd -x -D "cn=admin,dc=example-test,dc=com" -W -f example.ldif
查看添加的条目
ldapsearch -x -b 'dc=example-test,dc=com' -D "cn=admin,dc=example-test,dc=com" -W'(objectclass=*)'
6.windows客户端访问
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/146395.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...