如何设置 LDAP 支持的 IRC 服务器?

如何设置 LDAP 支持的 IRC 服务器?

如何配置由 LDAP 支持的 IRC 服务器?

现在,我正在考虑制作一个由 OpenLDAP 或 389 实例支持的 IRC 服务器,以进行用户身份验证。

我应该使用哪一个 IRCD?

最好地,它应该能够查找用户的 LDAP 组并决定他们是否可以被操作、发言,甚至是否允许他们加入频道。

答案1

您的问题需要大量解释,因此我将总结我的答案:

首先,您应该使用 Inspircd v2.0.15,因为它稳定、性能高,并且对您的使用来说最重要,标记为ldap 支持 关联

第一的 :

您应该编辑 /etc/hosts 文件:

YouserverIp       hostname.example.com        hostname

第二 :

安装OpenLdap:

sudo apt-get install slapd ldap-utils

在安装过程中只需输入您的 ldap 管理员密码。

OpenLdap服务器

第三 :

安装 apache2:apt-get install apache2

第四 :

安装 phpldapAdmin :phpLDAPadmin(也称为 PLA)是一个基于 Web 的 LDAP 客户端。它为您的 LDAP 服务器提供简单、可随处访问、多语言的管理。

sudo apt-get install phpldapadmin(这就是我安装 apache2 及其网络工具的原因)

您现在有两个步骤:

编辑

 /etc/ldap/ldap.conf

添加:编辑

BASE dc=yourdomain,dc=com
URI ldap://Your Ip Address

然后:编辑/etc/phpldapadmin/config.php

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

只需编辑您的 IP 和域名。

打开浏览器:

你的Ip/phpldapadmin

输入安装 sldap 时输入的管理员密码。

现在您连接到 ldap 数据库。选择域 ----> 在右侧添加通用 Posix 组 ----> 然后选择组并创建一个子条目添加通用用户帐户进行测试。

在此处输入图片描述

更多有关使用 phpldapadmin 的帮助这里

第五 :

现在是时候配置 inspircd 了:

编辑:/etc/inspircd/inspircd.conf 您需要加载 ldapauth 模块并指向您的 ldap 服务器,

<module name="m_ldapauth.so">
<ldapauth baserdn="cn=test,dc=domain,dc=com"
          attribute="uid"
          server="ldap://yourIp or domainname"
          allowpattern="Guest*"
          killreason="Access denied"
          searchscope="subtree"
          binddn=""
          bindauth=""
          verbose="yes"
          userfield="yes" >

您还应该添加您的 irc 服务器名称和管理员名称以及其他选项

/etc/inspircd/inspircd.conf 

本教程将帮助您:教程

最后的 :

重新启动 slapd、inspircd 并尝试连接您创建的用户。

笔记根据您的需要进行更改,此配置中 irc 和 ldap 都是相同的服务器。

希望它对您有所帮助,因为我认为没有官方文档可以像我的一样简单。

答案2

如果你真的希望 IRCd 进行身份验证,我建议的InspIRCd

它有一个 ldapauth 模块,但你需要自己编译它

./configure --enable-extras=m_ldap.cpp
make
make install

LDAP 使用的示例配置如下示例配置文件

请注意,此模块是实验性的。配置文件(和源代码)是该模块的全部文档。

编辑:阅读了一些代码后,我将尝试解释其工作原理:

  • 它首先使用您在配置中指定的凭据绑定到 ldap 服务器。
  • 它会搜索您在配置中指定的属性与连接用户的昵称相同的用户。
  • 它尝试使用用户在连接时提供的密码来验证找到的 DN(通过 PASS,可以在大多数客户端的服务器配置中进行配置)。

如果任何步骤失败,用户将与网络/服务器断开连接。我希望这就是你所需要的(未经身份验证的用户无法连接)。

对于配置,有一个数据库的概念。LDAP 在这里就像数据库一样使用。您首先定义数据库(LDAP 服务器、LDAP 服务器的凭据...),然后将其用于一个或多个目的,例如用户身份验证、操作员身份验证...

或者简单地说:默认值要么明显是错误的,要么是好的默认值。

编辑:您想要的属于 IRC 服务范围。尽管 InspIRCd 可以提供基本服务,但您需要编写自己的代码才能使其按您想要的方式工作。

答案3

您尚未指定要使用哪个 IRCd,但实际上已请求它。

以下是 LDAP 配置的示例的InspIRCd

有关 IRCd 的完整列表,您可以查看此处互联网中继聊天守护进程的比较其中除两个外,其余均支持 Linux。

最后桌子;您可以找到确实支持 LDAP 身份验证的版本。

希望这能帮助您做出决定。

相关内容