无法登录新安装的 OpenLDAP

无法登录新安装的 OpenLDAP

在 Oracle VM Virtualbox 中,我安装了 Ubuntu Server 14.04.1 64 位版本的全新副本,同时还安装了 OpenSSH。我完成的步骤:

  1. sudo apt-get install slapd ldap-utils

  2. nano /etc/ldap/ldap.conf 我在这里进入BASE dc=elemer,dc=local URI ldap://192.168.0.14

  3. sudo apt-get install phpldapadmin

  4. sudo nano /etc/phpldapadmin/config.php并将所有“dc=example,dc=com”替换为“dc=elemer,dc=local”

  5. 我从物理机器上打开一个网络浏览器并输入 192.168.0.14/phpldapadmin。它会打开网页然后我输入我的密码(我将 LDAP 密码设置为与 root 相同)。

  6. LDAP 笑着说

“无法连接到 LDAP 服务器我的 LDAP 服务器

错误:用户凭证无效(49)

无法向服务器验证身份

用户名或密码无效”

密码绝对正确,我甚至创建了其他虚拟机并从头开始重复该过程,有时使用不同的方法,但始终无法正确完成。

  1. 如果我运行ldapsearch -x 它,它会给我:“结果:32 没有这样的对象

  2. 如果我运行ldapadd并输入密码,它会显示:

ldap_sasl_interactive_bind_s: INvalid credentials (49) additional info: SASL(-13): user not found: no secret in database

  1. ldapsearch -x -LLL -H ldap:/// -b dc=example,dc=com dn会给 No such object (32)

答案1

因此,首先 ubuntu 设法创建一个长篇如何 (https://help.ubuntu.com/14.04/serverguide/openldap-server.html) 中省略了一个重要阶段:

您必须sudo dpkg-reconfigure slapd在安装 slapd 后运行并选择:NO -您的域名.com- 组织名称 - 密码 - 密码 - HDB - 是 - 是 - 否

我找到了解决方案dc=example,dc=com ldap dit 在哪里?

感谢穆鲁

答案2

编辑:显然这是一个非常普遍的问题,许多其他论坛都报告过这个问题,但没有可行的解决方案。不久前,我解决了这个问题并在这里报告了解决方案,但过了一段时间,当我想重做这些步骤时,我发现我无法成功复制。所以经过几次尝试和错误之后,我成功了,所以我将把说明放在这里,这次没有省略任何细节。希望对你有帮助。在开始这些步骤之前,请确保你拥有你的机器的 IP 地址(例如使用ifconfig,例如 192.168.33.10)

  1. 了解/更改您的主机名:打开文件/etc/hostname。您可以删除其中的所有内容并将其替换为您的域名(例如myserver.org)。

  2. 安装 OpenLDAP 包:您需要 3 个包slapdldap-utils并且phpldapadmin。安装时slapd系统会要求您输入管理员密码。

  3. 配置 OpenLDAP:打开/etc/ldap/ldap.conf并取消注释以下各行(删除行首的 #)

    BASE dc=示例,dc=com

    URI ldap://ldap.example.com ldap://ldap-master.example.com:666

    并将其更改为

    BASE dc = myserver,dc = org

    URI ldap://192.168.33.10 ldap://192.168.33.10:666

    192.168.33.10请记住,您必须用您的 IP 地址替换示例 IP 。

  4. 配置 phpldapadmin: /etc/phpldapadmin/config.php在编辑器中打开。查找包含 的行$servers->setValue,将其更改127.0.0.1为服务器 IP 地址。将所有examplecom更改为您在步骤 a 中设置的术语

  5. 重新配置 OpenLDAP 服务器:您需要重新配置 OpenLDAP 服务器(我真的不知道为什么!)sudo dpkg-reconfigure slapd然后选择:NO-> myserver.com-> OrganisationName-> password- password> HDB-> NO-> YES->NO

  6. 现在问题应该已经解决了。但是当你继续前进时,会出现另一个问题,如下所述在这篇文章中。您可以按照链接中的说明解决此问题

我要感谢 Anandd Nayyar,并提到他的 YouTube 视频这对我解决这些问题有很大帮助。

答案3

我遵循了以下步骤。这对我有用。

首先删除所有软件包(所有已安装的 ldap 软件包),sudo apt-get remove <package>然后按照以下步骤操作:

步骤1:安装OpenLDAP

  1. sudo apt-get install slapd ldap-utils
  2. 输入管理员密码/root密码
  3. 重新输入管理员/root密码

第 2 步:配置 OpenLDAP

  1. /etc/ldap/ldap.conf在 Gedit 中打开文件

  2. 确保文件如下所示:

    #LDAP Defaults
    #See ldap.conf for details
    #This file should be world readable but not world writable.
    BASE dc=ldap,dc=com
    URI ldap://localhost:389
     12
     15
    never
    #TLS certificates (needed for GnuTLS)
    TLS_CACERT /etc/ssl/certs/ca-certificates.crt*
    
  3. 保存文件并退出

步骤 3:使用更新的值重新配置 slapd

  1. sudo dpkg-reconfigure slapd
  2. 选择“否”并按 Enter
  3. 输入 DNS 域名ldap.com
  4. 输入组织名称:输入任意名称,例如 Anagh Software
  5. 输入 LDAP 管理员密码
  6. 选择后端数据库
  7. 仅选择默认
  8. 在下一个屏幕上选择“否”
  9. 单击“是”移动旧数据库
  10. 在LDAPv2协议下选择“否”

步骤 4:测试 openLDAP

  1. ldapsearch -x

  2. B 部分 LDAP 服务器管理

  3. 安装phpldapadmin

    sudo apt-get install phpldapadmin
    
  4. sudo gedit /etc/phpldapadmin/config.php

  5. 编辑以下值

    1. 设置 LDAP 服务器名称

      $servers->setValue('server','name', Anagh LDAP Server');
      
    2. 设置 LDAP 服务器 IP 地址

      $servers->setValue('server','host','IP-Address');
      
    3. 设置服务器域名

      $servers->setValue('server','base',array('dc=ldap,dc=com'));
      
    4. 重新设置服务器域名

      $servers->setValue('login','bind_id','cn=admin,dc=ldap,dc=com');
      
  6. 下面这行将被注释掉。取消注释,然后将其设置为 true

    $config->custom->appearance['hide_template_warning'] = true;
    
  7. 保存并退出文件

  8. 重启 apache2

  9. 打开网络浏览器

  10. 然后是 IP 地址/phpldapadmin

答案4

在安装了完整版 OpenLdap 软件包后,我注意到该进程在之后无法正确重新启动service slapd restart

您需要通过运行命令来找到该进程

sudo ps -aux | grep [s]lapd

然后杀死它

kill -9 <PID>

并且sudo service slapd start。此后,一切都对我有用。

相关内容