知识库管理系统代码(学生管理系统数据库设计代码)越早知道越好
Ldap(Lightweight Directory Access Protocal)在当今的企业中应用非常广泛,他可以方便的用来存储公司的员工
Ldap(Lightweight Directory Access Protocal)在当今的企业中应用非常广泛,他可以方便的用来存储公司的员工的信息和组织架构信息在我们测试领域,也同样需要用Ldap来做基本的身份认证,比如我们常用的Devops链中的任务管理Jira、知识库管理Confuence、代码管理Gitlab、持续集成Jenkins、代码扫描Sonarqube等,都可以通过接入ldap实现用户的统一管理。
今天我们先来说一下OpenLdap在Ubuntu上的安装和使用服务端安装使用如下的命令在Ubuntu上安装:apt install slapd ldap-utils 安装的过程中会提示输入管理员的密码,我们输入test123并在第二个界面再次输入确认:
如此便实现了在Ubuntu上的安装,非常方便接下来我们配置默认的Directory Information Tree(DIT)后缀使用如下命令:dpkg-reconfigure slapd 首先询问我们是否略过OpenLdap服务器的配置,我们选否:。
在第二页中输入testexpert.com,如此将创建dc=testexpert,dc=com的baseDN:
接着输入baseDN中的机构名称,我们输入testexpert:
下来输入我们在安装过程中设定的管理员密码test123:
选择后台存储数据的数据库类型,默认支持的有BDB、MDB和HDB,我们直接选择默认的MDB即可根据提示我们可以看到,HDB和MDB使用类似的存储格式,只是HDB额外增加了对子树命名的支持MDB采用了一种新的存储格式,而且所需要的配置比BDB和HDB少,所以推荐使用MDB。
接下来一步询问当openldap卸载的时候,数据库是否同步删掉,这个我们根据自己的需要进行选择好了,一般安全起见,我们可以选择否:
询问是否删除旧的ldap安装,我们选择是:
如此,设置成功:)开启memberOf简单说下memberOf的作用举例来说,我们在测试部门有个员工叫张三,那么换个角度看,就是张三是测试部门的一个员工,换成ldap的描述就是,测试部门这个group有一个member叫张三,张三有一个属性memberOf,值为测试部分。
当张三离职或者转岗时,测试部门这个group会把张三移除掉,于是,自动的,张三的memberOf值为测试部门,会自动删掉有这个东西的好处在于,我们在查一个人是哪个部门的时候,不用遍历group,非常方便。
首先我们查看memberOf是否已经开启:slapcat -n 0 | grep olcModuleLoad 得到如下的结果:
说明没有然后我们创建b.ldif,内容如下:dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: memberof.la 。
然后使用如下命令执行:ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f b.ldif 创建c.ldif,内容如下:dn: olcOverlay=memberof,olcDatabase={1}mdb,cn=config changetype: add objectClass: olcConfig objectClass: olcMemberOf objectClass: olcOverlayConfig objectClass: top olcOverlay: memberof olcMemberOfDangling: ignore olcMemberOfRefInt: TRUE olcMemberOfGroupOC: groupOfNames olcMemberOfMemberAD: member olcMemberOfMemberOfAD: memberOf
执行如下命令:ldapadd -Q -Y EXTERNAL -H ldapi:/// -f c.ldif 创建d.ldif,内容如下:dn: cn=module{0},cn=config add: olcmoduleload olcmoduleload: refint
执行如下命令:ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f d.ldif 创建e.ldif,内容如下:dn: olcOverlay=refint,olcDatabase={1}mdb,cn=config objectClass: olcConfig objectClass: olcOverlayConfig objectClass: olcRefintConfig objectClass: top olcOverlay: refint olcRefintAttribute: memberof member manager owner
执行如下命令:ldapadd -Q -Y EXTERNAL -H ldapi:/// -f e.ldif 然后再次查询确认memberOf已经开启:
客户端连接下面我们使用ldap客户端连接上OpenLdap服务器进行组织架构的设置这里,我用的是ApacheDirectoryStudio:https://directory.apache.org/studio/,一款Eclipse RCP应用,支持windows、linux和mac,比较好用。
启动后,创建一个新的链接:
输入连接名称和ip地址:
接下来输入认证信息:
认证方式使用默认的简单认证(Simple Authentication),bind dn那里,写入cn=admin,dc=testexpert,dc=com,除掉cn=admin,后面的配置需要与上面步骤的配置一致;bind password即为test123。
输入完成之后,可以点击“Check Authentication”进行检查后面几步选择默认即可,最终,在Directory Studio中显示了dc=testexpert,dc=com的目录树:
组织架构建立接下来我们在Directory Studio中建立组织架构:在dc=testexpert,dc=com上邮件,选择New - New entry:
从新创建一个节点:
object class这里我们选择groupOfNames,表明创建一个组:
接下来,dn的rdn里面设置为ou=Groups:
因为现在没有member,所以直接点击finish创建完成重复上面的步骤,我们在cn=Groups下创建两个groups,ou=测试,ou=开发;在dc=testexpert,dc=com下在创建一个group,ou=People,最终结果如下:。
至此,group创建完成。下面我们来创建person。创建person的步骤与group类似,只是在object class那里,我们选择inetOrgPerson:
重复此步骤,我们创建zhangsan和lisi两个账号,此时,组织架构如下:
如果我们需要给用户增加额外的信息,比如一般都有密码,我们选择用户之后,点击New attribute:
然后选择userPassword:
最后输入密码即可。接下来,我们把zhangsan加入到“开发”组,lisi加入到“测试”组,点击图示位置即可弹出添加对话框,选择对应人员即可:
验证使用如下命令的在OpenLdap服务器上查询:ldapsearch -x -LLL -H ldap:/// -b cn=zhangsan,ou=People,dc=testexpert,dc=com dn memberOf
得到如下的结果:
因为我们的组有中文,所以这里用base64加密了,解密即可看到正确内容:
总结OpenLdap的安装和使用,为我们统一的DevOPS工具链奠定了身份认证基础,后续文章我们将逐步介绍各个工具接入和使用OpenLdap的步骤。
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186