管理 Linux 用户帐户 + Samba + 更多

管理 Linux 用户帐户 + Samba + 更多

我有一个由大约 3-6 台 CentOS 服务器组成的网络,大约有 5-10 个用户(目前和不久的将来)。我正在寻找一种集中管理用户的解决方案。

我对它的要求是:

  1. Linux 身份验证(登录服务器)
  2. 与 Samba 集成 - 仅向 Windows 公开 Linux 文件;我不想使用此解决方案登录 Windows 计算机
  3. 向其他需要身份验证的服务提供 API,例如Redmine或 Alfresco
  4. 简单管理

尝试过 OpenLDAP,但对于我的小型网络来说似乎太复杂了。然后我安装了 RedHat 的 IdM (=FreeIPA),它安装起来很容易,管理起来也很好。它也基于 LDAP,所以我认为它会与其他播放器很好地兼容。

令人惊讶的是,IdM/FreeIPA 似乎无法与 Samba 很好地集成。此外,看来我搞错了,IdM/FreeIPA 不会将其 LDAP 数据库公开给其他服务 - 它们必须使用 Kerberized,这会使业务变得复杂...

因此,合理的解决方案似乎是回到 LDAP。我说得对吗?

但是即使使用 LDAP,我也不确定正确的方法是什么......

  1. OpenLDAP/389 服务器
  2. 带有 LDAP 后端的 Samba3,或带有内置 LDAP 的 Samba4
  3. https://gna.org/projects/smbldap-tools/

我甚至不确定我问的问题是否正确:)

答案1

由于第 3 点,这有点棘手。IPA 中的 LDAP 可用,但不是匿名的,因此您需要对发出查询的应用程序进行 Kerberize 或为它们提供一个通用帐户进行绑定。我见过的大多数应用程序都支持这一点。

来自 samba wiki:“请注意,您不能将 Samba4 指向您现有的 OpenLDAP 服务器并期望一切正常。”

老实说,根据要求 3 对于如此小环境的具体要求,我建议您通过 sssd 使用 Active Directory(我假设您已经拥有它)并将其作为 samba 的后端。这是最简单、最易于维护的解决方案,假设要求 3 支持它。

答案2

我会选择一些基于 LDAP 的解决方案,因为它具有灵活性和广泛的支持,而对于 GNU/Linux 世界,最好的选择是 OpenLdap。一开始,ldap 世界有点琐碎,但相当可靠。

你需要:

  • 一个 OpenLdap 服务器,如果您需要高可用性架构,则可能需要两个(以提供者-消费者的方式),并安装 Samba 模式

  • 配置 Samba 服务器以使用 Openldap 作为后端检索用户和组并公开一些共享

  • Smbdlap 工具从命令行管理(添加、编辑、删除)用户和组

  • 我建议使用 Web GUI 来简单管理(添加、编辑、删除)用户和组 融合目录或者本地 ldap 客户端

  • 配置和包用于在 pam 和 nss 中启用 ldap 支持以实现 GNU linux 登录。

周围有一些关于此设置的相当不错的教程。

答案3

如果您不想从头开始构建一切,您可能想尝试一下 Univention Corporate Server (UCS)。我在 Univention 工作,所以我很了解它。它是一款基于 Debian 的企业级操作系统,可很好地用作异构环境的域/身份管理。还有一个免费的“核心版”,它具有您需要的所有功能。

除其他外,它还提供:

  1. 通过 LDAP 和/或 Kerberos 对客户端进行身份验证
  2. 通过 NFS 和/或 Samba 共享(Samba 4 / AD 也可以)
  3. 外部服务的身份验证-详细信息请参阅下文
  4. 一个不错的基于 Web 的管理界面

正如 Andy 指出的那样,您通常不希望在未经身份验证的情况下(匿名)公开您的 LDAP 目录。在 LDAP 目录中创建一个特殊用户并在第三方应用程序中使用该用户在查询 LDAP 目录时进行身份验证是一种很好的做法。

Univention Wiki 中甚至还有有关 Redmine 和 Alfresco 的文章: 很棒的解决方案 - 安装 Redmine 并设置 ldap 身份验证 很酷的解决方案——Alfresco

有关 UCS 的更多信息Univention 的网站

希望我能帮到你,Maren

相关内容