我有多台CENTOS
服务器,目前都在本地运行,/etc/passwd
以进行用户帐户控制,并具有本地主文件夹等。
这使得用户登录或离开等情况变得很麻烦,因为我必须登录到每台服务器才能控制用户。我们目前有一个 2008 AD 域,并希望利用它来启用SSO
(跨所有服务器的单点登录)。
我想仅允许特定用户登录 Linux 服务器,并希望能够在 Linux 机器上维护本地系统帐户等。用户目前在 Linux 和 AD 中具有相同的 firstname.lastname 用户名。
我找到了许多不同的指南,但似乎每个人都有不同的做法,而且似乎没有一个能很好地发挥作用。
有人能给我提供一份适用于 2008 的最新指南吗(我应该指出,samba 等现在可以与最新版本的 2008 兼容)
- 我是否必须删除本地用户帐户?
- 我认为他们将获得新的主文件夹(保留旧的主文件夹会很好,但没什么大不了的)如果他们可以通过 Windows 共享等访问主文件夹那就太酷了。
- 我是否必须对 2008 AD 服务器进行任何配置更改?
答案1
埃默里大学的做法看起来很有希望:
在 CentOS 5.5 上运行 Apache 的 Kerberos、单点登录和 LDAP 授权。
不要忘记使用 kinit 和 klist 命令来测试 CentOS 机器上的 Kerberos 密钥。
答案2
以下是有关使用 LDAP 进行 Active Directory 身份验证的详细信息:http://en.gentoo-wiki.com/wiki/Active_Directory_Authentication_using_LDAP
它是 Gentoo Linux 文档 (WiKi) 的一部分,但所有 Linux 发行版的工具和机制都是相同的。希望您能在这里找到大多数问题的答案。
答案3
我意识到这有点晚了,但我非常喜欢使用 RADIUS 身份验证。正确配置后,用户仍然可以通过 Puppet 进行管理(对我来说非常重要),但仍可使用来自 AD 的帐户信息。
我喜欢使用 Microsoft 的 RADIUS 服务器 - NPS,这是一款免费产品,可以很好地通过单点登录连接所有东西(我也将它用于我的网络交换机和我处理的几个设备)。
如果您想采用这种方式,请安装 pam_radius 模块(您可能需要寻找它,但有一个可用的 RPM)。您只需要更新两个或三个配置文件即可使其正常运行(我也通过 Puppet 进行更新)。
/etc/raddb/服务器
<hostname>:port <password> 3:3
系统认证
auth sufficient pam_unix.so ...
auth sufficient pam_radius_auth.so
...