如何配置由 LDAP 支持的 IRC 服务器?
现在,我正在考虑制作一个由 OpenLDAP 或 389 实例支持的 IRC 服务器,用于用户身份验证。
我应该使用哪种 IRCD?
最好,它应该能够查找用户 LDAP 组并决定他们是否可以被拒绝、发声,甚至完全允许加入频道。
你的问题需要很多解释,所以我总结一下我的回答:
首先您应该使用 Inspircd v2.0.15,因为它稳定、高性能并且对您的使用最重要,标记为ldap 支持 链接。
第一的 :
您应该编辑您的 /etc/hosts 文件:
YouserverIp hostname.example.com hostname
Run Code Online (Sandbox Code Playgroud)
第二 :
安装 OpenLDAP:
sudo apt-get install slapd ldap-utils
Run Code Online (Sandbox Code Playgroud)
在安装过程中只需输入您的 ldap 管理员密码。
第三 :
安装 apache2: apt-get install apache2
第四 :
安装 phpldapAdmin : phpLDAPadmin(也称为 PLA)是一个基于 Web 的 LDAP 客户端。它为您的 LDAP 服务器提供简单、随处可访问的多语言管理。
sudo apt-get install phpldapadmin
(这就是我安装 apache2 的原因,它的网络工具)
你现在有两个步骤:
编辑
/etc/ldap/ldap.conf
Run Code Online (Sandbox Code Playgroud)
添加:编辑
BASE dc=yourdomain,dc=com
URI ldap://Your Ip Address
Run Code Online (Sandbox Code Playgroud)
然后:编辑 /etc/phpldapadmin/config.php
只需编辑您的 IP 和域名。
打开浏览器:
你的IP/phpldapadmin
输入您在安装 sldap 时键入的管理员密码。
现在您连接到 ldap 数据库。选择域 ----> 在右侧添加通用 Posix 组 ----> 然后选择组并创建子条目添加通用用户帐户进行测试。
更多使用phpldapadmin的帮助在这里
第五 :
现在是时候配置 inspirecd 了:
编辑:/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" >
Run Code Online (Sandbox Code Playgroud)
您还应该添加您的 irc 服务器名称和管理员名称以及其他选项
/etc/inspircd/inspircd.conf
Run Code Online (Sandbox Code Playgroud)
本教程将帮助您:教程
最后的 :
重新启动 slapd,inspircd 并尝试连接您创建的用户。
注意更改,因为它适合您的需要,此配置 irc 和 ldap 是相同的服务器。
希望它对您有所帮助,因为我认为没有像我这样简单的官方文档。
如果您确实希望 IRCd 进行身份验证,我建议InspIRCd。
它有一个 ldapauth 模块,但你需要自己编译它
./configure --enable-extras=m_ldap.cpp
make
make install
Run Code Online (Sandbox Code Playgroud)
示例配置文件中提供了如何使用 LDAP 的示例配置。
请注意,该模块是实验性的。配置文件(和源代码)是您获得该模块的所有文档。
编辑:阅读一些代码后,我将尝试解释其工作原理:
如果任何步骤失败,用户将与网络/服务器断开连接。我希望这就是您所需要的(未经身份验证的用户无法连接)。
对于配置来说,有一个数据库的概念。这里使用LDAP就像数据库一样。您首先定义数据库(LDAP 服务器、LDAP 服务器的凭据...),然后将其用于一个或多个目的,例如用户身份验证、操作身份验证...
或者简单地说:默认值要么是明显错误的,要么是好的默认值。
编辑:您想要的属于 IRC 服务领域。虽然InspIRCd可以提供基本的服务,但您需要编写自己的代码才能使其按您的意愿工作。
归档时间: |
|
查看次数: |
6269 次 |
最近记录: |