![如何设置 LDAP 支持的 IRC 服务器?](https://linux22.com/image/846870/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%20LDAP%20%E6%94%AF%E6%8C%81%E7%9A%84%20IRC%20%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9F.png)
如何配置由 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 管理员密码。
第三 :
安装 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 身份验证的版本。
希望这能帮助您做出决定。