为类似 ISP 的组织设计 LDAP 目录布局

use*_*159 3 ldap

我为一个小型组织管理几台服务器,该组织为其成员提供类似 ISP 的服务(虚拟主机、多个域上的邮件地址和关联的 IMAP 帐户、Jabber 帐户),我想将所有帐户数据集中在 LDAP 中。我是 LDAP 的新手,现在我需要设计和组织 LDAP 目录布局。

我正在努力解决的最大问题是如何将用户映射到各种帐户,例如,单个用户目前拥有多个 IMAP 和 Jabber 帐户,这些帐户与各个域上的各种地址相关联,并且每个帐户都有不同的密码,我需要保留它。

那么我将如何组织 LDAP 目录布局?
用户和各种帐户是否应该在不同的树中,然后通过一个公共 uid 链接,即 ou=people,dc=example,dc=net 与描述用户的 inetOrgPersons 然后为帐户分离树,例如 ou=imapAccounts,dc=例如,dc=net, ou=jabberAccounts,dc=example,dc=net 等具有自定义模式?或者有没有更好的方法,因为这看起来太像使用关系数据库的解决方案?

任何对这里有用的资源/书籍/现实世界示例的建议?我见过的大多数资源似乎都假设一个人只有一个邮件/jabber 帐户等,并且想要为此使用一个密码。我不敢相信 ISP 允许他们的客户拥有多个帐户,例如为了允许他们将私人邮件和工作邮件分开,或者鼓励不同服务使用不同的密码,这样保存的 Jabber 密码就不会被泄露,我不敢相信这是罕见的导致该客户的所有其他服务受到损害等。


我将尝试更具体地说明我的用例并解释我当前的数据模型:

有一些独特的用户是我需要一些联系数据的人,并且在虚拟主机框上有一个(单个)shell 帐户。这些唯一用户中的每一个都可能拥有多个 IMAP 和 Jabber 帐户。

回答设计问题:

  • 用户可以被视为帐户的容器,但它也代表必须具有与其关联的联系数据的人。
  • 用户永远不会共享帐户。
  • 帐户永远不会在用户之间移动。
  • 这些盒子运行 RHEL6,我需要与 PAM、Postfix/Dovecot 和 ejabberd 集成,因此应该可以与 LDAP 和 RDB 集成。

vor*_*aq7 6

您正在以错误的方式处理这个问题,因为您选择了一项技术,现在正试图将您的数据模型推入其中。首先设计您的DATAMODEL,然后找到易于实施的技术。

从白板开始,写下您需要跟踪的内容,然后确定它们之间的关系。如果您最终得到一个自然的层次结构/树,LDAP 是一个不错的选择。如果你最终得到一个时髦的类似网络的东西,一个关系系统可能会更好地工作。


做设计时要问的一些问题:

  • “用户”是容器(包含帐户)吗?
    (如果是这种情况,每个帐户将恰好指向一个用户。在 LDAP 中,用户将是一个 OU,并且将在该 OU 中创建帐户。在关系用语中,帐户将具有强制(非空)外键指向在用户)

  • 用户会共享帐户吗?
    (关系建模在这里通常效果更好)

  • 帐户会在用户之间移动(或用户在帐户之间移动)吗?

  • 什么样的系统需要与这个数据存储集成?

  • +1 在选择解决问题的方法之前,您需要先决定需要做什么。 (2认同)