2023年6月21日发(作者:)

OpenLDAP安装及使⽤LDAP,Light Directory Access Portocol,基于X.500标准的轻量级⽬录访问协议。OpenLDAP是LDAP的⾃由和开源的实现许多开源⼯具都⽀持LDAP认证,这样只需要管理LDAP,不需要各个软件都单独管理帐号,极⼤减少维护帐号的⼯作。建议使⽤LDAP,将开源⼯具集成LDAP认证。OpenLDAP安装及配置操作系统版本:ubuntu 18.04假设 ip : 192.168.3.5域名: in账户密码:123456直接在物理机上安装安装命令sudo apt install slapd ldap-utils配置在/etc/ldap/, 添加BASE 和 URI。LDAP默认的端⼝号是389BASE dc=example,dc=comURI ldap://192.168.3.5:389重新加载配置,如果需要重新修改域名,则使⽤这个命令,如果域名已经设置好了,可以忽略sudo dpkg-reconfigure slapd⼤概需要输⼊内容如下No -> DNS domain: -> organization name: example -> 密码 -> 确认密码 -> yes -> MDB ->no -> yes验证安装sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn#-b 参数值,使⽤的是/etc/ldap/中配置的BASEldapsearch -x -LLL -H ldap:/// -b dc=example,dc=com dn问题执⾏ldapsearch -x时出现下⾯的错误信息:"ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)"原因:在/etc/ldap/中配置IP和端⼝号错了,所以报了⽹络的错。使⽤docker安装拉取docker镜像docker pull osixia/openldap创建容器docker run -d -p <宿主机映射389的端⼝>:389 -p <宿主机映射636的端⼝>:636 --name <容器名称> --network bridge --hostname openldap --restart=always --env LDAP_ORGANISATION="example" --env LDAP_DOMAIN="" --env LDAP_BASE_DN="dc=example,dc=com" --env LDAP_ADMIN_PASSWORD="123456" osixia/openldap:latest安装phpLDAPadminphpLDAPadmin是⼀款可以在页⾯上管理OpenLDAP的软件,实现可视化管理OpenLDAP。安装命令sudo apt-get install -y phpldapadmin配置在/etc/phpldapadmin/⽂件中添加OpenLDAP信息,修改⽂件中下⾯⼏个参数/*设置openldap的ip*/$servers->setValue('server','host','192.168.3.5');/*设置openldap的端⼝号,默认是389;如果是docker安装,填写宿主机映射389的端⼝*/$servers->setValue('server','port',389);/*填写openldap的最顶端的dn*/$servers->setValue('server','base',array('dc=example,dc=com'));/*填写admin的dn*/$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');$config->custom->appearance['hide_template_warning'] = true;验证报错打开登录phpldapadmin报错,报错信息如下:Deprecated: Function create_function() is deprecated in /usr/share/phpldapadmin/lib/ on line 1083原因:create_function存在漏洞,php在5.3版本及更⾼版本之后就不再⽀持create_function的⽤法了,⽽当前机器的php版本是7.2.x。解决:将当前机器的php的版本降低。如果当前机器是服务器的话,不建议修改php版本,可能会影响其他操作。ubuntu18.04上没有php5.3之前的版本,以下是切换php版本的参考步骤。#添加php的源sudo add-apt-repository ppa:ondrej/phpsudo apt-get update#下载php5.x版本sudo apt-get install -y php5.6#查看当前机器上的php的版本,这个命令也能修改默认的版本sudo update-alternatives --config php# 从7.2.x切到5.6sudo update-alternatives --set php /usr/bin/php5.6LDAP命令使⽤添加ldapadd -x -D cn=admin,dc=example,dc=com -h 192.168.3.5 -p 389 -w 123456 -f ⽰例如下#创建部门dn: ou=departmentA,dc=example,dc=comobjectClass: organizationalUnitou: departmentA#创建帐号dn: cn=test,ou=departmentA,dc=example,dc=comobjectClass: inetOrgPersonuid: testsn: testcn: testdisplayName: 测试帐号mail: test@: departmentAuserPassword:123456查询ldapsearch -x -D cn=admin,dc=example,dc=com -h 192.168.3.5 -p 389 -w 123456 -b <要查询内容的dn>删除删除具体帐号:ldapadd -x -D cn=admin,dc=example,dc=com -h 192.168.3.5 -p 389 -w 123456 cn=test,ou=departmentA,dc=example,dc=com删除某个ou#删除没有⼦条⽬的ouldapadd -x -D cn=admin,dc=example,dc=com -h 192.168.3.5 -p 389 -w 123456 ou=departmentA,dc=example,dc=com#删除有⼦条⽬的ou,加个 -r 选项ldapadd -x -r -D cn=admin,dc=example,dc=com -h 192.168.3.5 -p 389 -w 123456 ou=departmentA,dc=example,dc=com修改ldapadd -x -D cn=admin,dc=example,dc=com -h 192.168.3.5 -p 389 -w 123456 -f ⽰例dn: cn=test,ou=departmentA,dc=example,dc=comchangetype: modifyreplace: mailmail: test@-replace: displayNamedisplayName: 临时测试帐号-replace: userPassworduserPassword: 321

2023年6月21日发(作者:)

OpenLDAP安装及使⽤LDAP,Light Directory Access Portocol,基于X.500标准的轻量级⽬录访问协议。OpenLDAP是LDAP的⾃由和开源的实现许多开源⼯具都⽀持LDAP认证,这样只需要管理LDAP,不需要各个软件都单独管理帐号,极⼤减少维护帐号的⼯作。建议使⽤LDAP,将开源⼯具集成LDAP认证。OpenLDAP安装及配置操作系统版本:ubuntu 18.04假设 ip : 192.168.3.5域名: in账户密码:123456直接在物理机上安装安装命令sudo apt install slapd ldap-utils配置在/etc/ldap/, 添加BASE 和 URI。LDAP默认的端⼝号是389BASE dc=example,dc=comURI ldap://192.168.3.5:389重新加载配置,如果需要重新修改域名,则使⽤这个命令,如果域名已经设置好了,可以忽略sudo dpkg-reconfigure slapd⼤概需要输⼊内容如下No -> DNS domain: -> organization name: example -> 密码 -> 确认密码 -> yes -> MDB ->no -> yes验证安装sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn#-b 参数值,使⽤的是/etc/ldap/中配置的BASEldapsearch -x -LLL -H ldap:/// -b dc=example,dc=com dn问题执⾏ldapsearch -x时出现下⾯的错误信息:"ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)"原因:在/etc/ldap/中配置IP和端⼝号错了,所以报了⽹络的错。使⽤docker安装拉取docker镜像docker pull osixia/openldap创建容器docker run -d -p <宿主机映射389的端⼝>:389 -p <宿主机映射636的端⼝>:636 --name <容器名称> --network bridge --hostname openldap --restart=always --env LDAP_ORGANISATION="example" --env LDAP_DOMAIN="" --env LDAP_BASE_DN="dc=example,dc=com" --env LDAP_ADMIN_PASSWORD="123456" osixia/openldap:latest安装phpLDAPadminphpLDAPadmin是⼀款可以在页⾯上管理OpenLDAP的软件,实现可视化管理OpenLDAP。安装命令sudo apt-get install -y phpldapadmin配置在/etc/phpldapadmin/⽂件中添加OpenLDAP信息,修改⽂件中下⾯⼏个参数/*设置openldap的ip*/$servers->setValue('server','host','192.168.3.5');/*设置openldap的端⼝号,默认是389;如果是docker安装,填写宿主机映射389的端⼝*/$servers->setValue('server','port',389);/*填写openldap的最顶端的dn*/$servers->setValue('server','base',array('dc=example,dc=com'));/*填写admin的dn*/$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');$config->custom->appearance['hide_template_warning'] = true;验证报错打开登录phpldapadmin报错,报错信息如下:Deprecated: Function create_function() is deprecated in /usr/share/phpldapadmin/lib/ on line 1083原因:create_function存在漏洞,php在5.3版本及更⾼版本之后就不再⽀持create_function的⽤法了,⽽当前机器的php版本是7.2.x。解决:将当前机器的php的版本降低。如果当前机器是服务器的话,不建议修改php版本,可能会影响其他操作。ubuntu18.04上没有php5.3之前的版本,以下是切换php版本的参考步骤。#添加php的源sudo add-apt-repository ppa:ondrej/phpsudo apt-get update#下载php5.x版本sudo apt-get install -y php5.6#查看当前机器上的php的版本,这个命令也能修改默认的版本sudo update-alternatives --config php# 从7.2.x切到5.6sudo update-alternatives --set php /usr/bin/php5.6LDAP命令使⽤添加ldapadd -x -D cn=admin,dc=example,dc=com -h 192.168.3.5 -p 389 -w 123456 -f ⽰例如下#创建部门dn: ou=departmentA,dc=example,dc=comobjectClass: organizationalUnitou: departmentA#创建帐号dn: cn=test,ou=departmentA,dc=example,dc=comobjectClass: inetOrgPersonuid: testsn: testcn: testdisplayName: 测试帐号mail: test@: departmentAuserPassword:123456查询ldapsearch -x -D cn=admin,dc=example,dc=com -h 192.168.3.5 -p 389 -w 123456 -b <要查询内容的dn>删除删除具体帐号:ldapadd -x -D cn=admin,dc=example,dc=com -h 192.168.3.5 -p 389 -w 123456 cn=test,ou=departmentA,dc=example,dc=com删除某个ou#删除没有⼦条⽬的ouldapadd -x -D cn=admin,dc=example,dc=com -h 192.168.3.5 -p 389 -w 123456 ou=departmentA,dc=example,dc=com#删除有⼦条⽬的ou,加个 -r 选项ldapadd -x -r -D cn=admin,dc=example,dc=com -h 192.168.3.5 -p 389 -w 123456 ou=departmentA,dc=example,dc=com修改ldapadd -x -D cn=admin,dc=example,dc=com -h 192.168.3.5 -p 389 -w 123456 -f ⽰例dn: cn=test,ou=departmentA,dc=example,dc=comchangetype: modifyreplace: mailmail: test@-replace: displayNamedisplayName: 临时测试帐号-replace: userPassworduserPassword: 321