指点成金-最美分享吧

登录

apacheDS ldap 安装,配置,增删查该及备份恢复

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了apacheDS ldap 安装,配置,增删查该及备份恢复相关的知识,希望对你有一定的参考价值。

ApacheDS、ApacheDirectoryStudio详解

文章目录

      • ApacheDS、ApacheDirectoryStudio详解
        • 一、说明
        • 二、安装 apacheDS
        • 三、访问 apacheDS
        • 四、配置
        • 五、增删查改
        • 六、备份
        • 七、还原


一、说明

之前看了看openldap的文章,能用,但是不太好用。包括安装,部署以及web页面phpadminldap的安装,环境比较麻烦。也找了找apacheDS ldap的文章,真心没多少人有写,国人好像也没怎么用,个人使用觉得apacheDS确实比openldap好用一点

下面来说说apacheds与openldap的比较

1、apacheDS ldap 所需的服务说明

JDK:Java 语言的软件开发工具包,用户运行apacheds服务
apacheDS:ldap服务端
ApacheDirectoryStudio:ldap客户端,用来管理apacheds服务

2、界面
apacheds较为清爽,apacheds有一个客户端管理软件叫做ApacheDirectoryStudio
下载地址:http://directory.apache.org/studio/


3、安装

apacheds简单,ApacheDirectoryStudio客户端配置,不需要第三方的管理web页面,相对openldap的phpadminldap就方便很多


4、备份和还原

备份方面openldap和apacheds都差不多,基本上都是导出ldif文件的方式
还原的话apacheds相对方便一点,客户端插件有一个import的功能,直接把备份出来的文件进行倒入即可


5、创建用户 && 创建组 && 加入组
手动添加

  • openldap 较为方便(通过uid的方式,填入相应的参数就好)
  • apacheds 相对麻烦(要记住所需的Attribute和objectClass)

ldif添加

  • apacheds 更加方便,直接通过客户端将ldif文件导入即可

6、认证
apacheds 和 openldap 没什么区别



二、安装 apacheDS

环境:

  • 系统:centos 7.6
  • JDK:jdk-8u201-linux-x64.tar.gz
  • apacheDS:apacheds-2.0.0.AM26.tar.gz
  • ApacheDirectoryStudio:ApacheDirectoryStudio-2.0.0.v20180908-M14-macosx.cocoa.x86_64.dmg

1、安装jdk及添加系统变量

tar zxf jdk-8u201-linux-x64.tar.gz -C /usr/local/

vim /etc/profile && source /etc/profile

export JAVA_HOME=/usr/local/jdk1.8.0_241export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

2、安装 apacheds
解压apacheds

[root@server opt]# tar zxf apacheds-2.0.0.AM26.tar.gz -C /opt/

启动apacheds

[root@server opt]# /opt/apacheds-2.0.0.AM26/bin/apacheds.sh startUsing ADS_HOME:    /opt/apacheds-2.0.0.AM26Using JAVA_HOME:   /usr/local/jdk1.8.0_241Starting ApacheDS instance "default"...[root@server opt]#

安装好了,是不是很简单,等下通过ApacheDirectoryStudio配置即可。




三、访问 apacheDS

1、将ApacheDirectoryStudio下载下来,并且安装好



2、打开客户端进行访问apacheDS

点击左下角的LDAP小图标,建立一个新的连接


3、配置连接信息

依次填入连接名,apacheds地址,端口(apacheDS默认使用10389端口),加密方式选择不加密,单机Next


3、配置认证信息

验证方式选择默认的简单认证,并且填入apacheDS默认的dn(uid=admin,ou=system),密码默认为secret,单击Finish


4、连接apacheDS服务

双击已经建立好的连接,即可登录到ApacheDS服务器


5、连接apacheDS成功


四、配置

打开配置页面


1、修改apacheDS服务默认端口号(ApacheDirectoryStudio也要一起改)
apacheDS默认的端口号是10389(ldap)和10636(ldaps),如果需要配置,可在Overview界面自行调节,修改完重启生效

  • 只用ldaps登录,选择Enable LDAPS Server即可
  • 修改默认的端口号,输入自己想用的端口即可

2、修改默认管理员密码(ApacheDirectoryStudio的连接信息也要一起改)

apacheDS中默认管理员为admin,密码为secret,当需要修改的时候
从目录结构中,单击ou=system,单击uid=admin


接着右边就会出现一个叫做userPassword的Attribute


双击value进行修改密码,选择下图中的New Password,然后输入密码并且确认,选择Show new password detail可以查看明文字符,单击ok保存


3、创建自己的partition

partition就好比一个完整的分区列表,在apacheds中,有一个默认的partition是"dc=example,dc=com",下面我们自定义一个partition

打开apacheDS配置


选择Partitions



单击新增Add


在Partitions General Detail 页面中,填入你自己的Partition ID和Suffix即可保存配置,command+s(mac保存方式)

重启apacheDS使刚才的修改生效

[root@server opt]# /opt/apacheds-2.0.0.AM26/bin/apacheds.sh stopUsing ADS_HOME:    /opt/apacheds-2.0.0.AM26Using JAVA_HOME:   /usr/local/jdk1.8.0_241Stopping ApacheDS instance "default" running as 12474ApacheDS stopping 12474: 0, 60 attempts remainingApacheDS instance "default" stopped successfully[root@server opt]# /opt/apacheds-2.0.0.AM26/bin/apacheds.sh startUsing ADS_HOME:    /opt/apacheds-2.0.0.AM26Using JAVA_HOME:   /usr/local/jdk1.8.0_241Starting ApacheDS instance "default"...

apacheDS重启以后,刷新页面即可看到刚才新增的Partition


4、禁用匿名访问

匿名访问在Overview页面,为了安全,我们将匿名用户访问禁用。默认是开启的,只需要把Allow Anonymous Access 前面的勾去掉即可(command+s进行保存)


5、启用访问控制

访问控制即ACI权限相关,默认情况下是关闭的。也就是说,用户除了ou=users,ou=system外,对于其他条目,均有操作权限,当开启该功能,则表示只有admin用户有管理权限,其他用户均无任何权限,如果需要给某个用户开启权限,则可以参考apacheds官方提到的ACI权限


五、增删查改

1、新增

关于新增,我们都通过ldif导入的方式


新增两个ou(people和group)
在需要增加ou的时候,通过ldif文件的导入形式远比手动添加更为方便,下面是添加两个ou的ldif配置文件内容。并且将他们导入进去

dn: ou=group,dc=baidu,dc=comou: groupobjectclass: topobjectclass: organizationalUnitdn: ou=people,dc=baidu,dc=comou: peopleobjectclass: topobjectclass: organizationalUnit

下图已经导入成功



新增两个组(jenkins-admin,jenkins-view)

我们的组在ou=group下面,分别为jenkins-admin和jenkins-view分组

dn: cn=jenkins-admin,ou=group,dc=baidu,dc=comcn: jenkins-adminobjectclass: topobjectclass: groupOfNamesmember: cn=jenkins-admin,ou=group,dc=baidu,dc=comdn: cn=jenkins-view,ou=group,dc=baidu,dc=comcn: jenkins-viewobjectclass: topobjectclass: groupOfNamesmember: cn=jenkins-view,ou=group,dc=baidu,dc=com

下图已经导入成功


新增两个用户(user1,user2)

dn: cn=user1,ou=people,dc=baidu,dc=commail: user1@baidu.comsn: user1cn: user1objectclass: topobjectclass: inetOrgPersonobjectclass: personobjectclass: organizationalPersonuserpassword: 12345678dn: cn=user2,ou=people,dc=baidu,dc=commail: user2@baidu.comsn: user2cn: user2objectclass: topobjectclass: inetOrgPersonobjectclass: personobjectclass: organizationalPersonuserpassword: 12345678

下图已经导入完成


2、删除
对于apacheDS 条目的删除,非常简单,只需要单击右键,选择 Delete Entry 即可。


3、查询
查询则是根据一些用户的一些attribute,通过key,value的形式来匹配用户信息
当我们选择用户的时候,可以有下列attrubute来进行查询


并且我们可以看到查询的多种条件,当然,最常用的就是"="


我们来看看user1用户有哪些属性可以供我们查询,如下图,我们在创建用户的时候,定义了sn、cn、即mail参数


那么,接下来我来查询mail 为 user1@baidu.com 的这个账户信息,可以看到,我们查询的目录为"dc=baidu,dc=com",单击下图中左上角的按钮,即可查询到对应的结果


4、修改
修改用户信息也特别方便,我们只需找到对应的用户,然后将右边的attribute对应的value进行双击,即可修改value。例如,我要修改user1用户的密码,如下图,找到对应的value,双击即可修改。


六、备份

apacheDS的数据备份有两种形式,我们推荐第二种方式
注意:

在apacheDS数据备份的时候,如果你将所有的数据进行导出,并且接下来恢复会遇到一些问题在apacheDS中,Partitions不可导入,只能通过ApacheDirectoryStudio进行创建在apacheDS中,导入数据的时候要按照架构的方式,例如先创建Partition,再创建ou,再创建组或用户那么在本例中当Partition或者ou不存在的时候,你导入用户或者组就会失败所以我们在备份数据的时候,选择下面第二种方式(当然你也可以通过ApacheDirectoryStudio导出的时候选择objectclass=你想要导出的类型),先备份ou,再备份group和user还原的时候也一样,先创建Partitions,再恢复ou,最后恢复group和user

1、通过 ApacheDirectoryStudio 进行export导出即可


2、通过 ldapsearch进行导出即可

导出 ouldapsearch -x -D "uid=admin,ou=system" -w admin -h 192.168.101.55 -p 10389 -b "dc=baidu,dc=com" "(objectclass=organizationalUnit)" > baidu_ou_bak.ldif导出 groupldapsearch -x -D "uid=admin,ou=system" -w admin -h 192.168.101.55 -p 10389 -b "dc=baidu,dc=com" "(objectclass=groupOfNames)" > baidu_group_bak.ldif导出 userldapsearch -x -D "uid=admin,ou=system" -w admin -h 192.168.101.55 -p 10389 -b "dc=baidu,dc=com" "(objectclass=inetOrgPerson)" > baidu_user_bak.ldif

在下图中可以看到,我们已经将ou,group,user进行了备份


七、还原

还原特别方便,通过 ApacheDirectoryStudio import 备份的 ldif 文件即可
先将刚才备份的数据进行删除。如下图所示,这时候我们只剩下 Partitions(“dc=baidu,dc=com”)


接下来,我们将备份的文件通过 ApacheDirectoryStudio 进行导入


1、将备份的ou文件 baidu_ou_bak.ldif 进行导入


2、将备份的group文件 baidu_group_bak.ldif 进行导入


3、将备份的user文件 baidu_user_bak.ldif 进行导入


可以看到,在我们导入完成以后,我们所删除的数据都已经恢复到ApacheDS服务当中

以上是关于apacheDS ldap 安装,配置,增删查该及备份恢复的主要内容,如果未能解决你的问题,请参考以下文章