使用 Active Directory 对 Linux 客户端进行身份验证(10)

加入域并登录
既然网络、PAM、NSS 和 Samba Winbind 都已配置成功,现在应该将 Linux 计算机加入到域中。可使用 Samba NET 命令来执行此操作。在外壳程序提示符下,运行“net ads join –U <管理员名称>”。使用具有足够权限来将计算机加入到域的帐户名称替换 <管理员名称>。
net 命令会提示您输入用户的密码。如果一切运行正常,net 命令会将您的计算机加入到域中。您可以使用 Active Directory 用户和计算机来查找刚刚创建的计算机帐户。

您可以使用称为 wbinfo 的 Winbind 测试工具来测试加入的状态。运行 wbinfo –t 将测试计算机与域之间的信任关系。运行 wbinfo –u 将列出域中的所有用户,而运行 wbinfo –g 将列出域中的所有组。

如果您成功将 Linux 计算机加入到域中,则下一步是尝试使用 Active Directory 用户帐户和密码登录。注销 Linux 计算机,然后使用 Active Directory 用户名登录。如果一切运行正常,您应该能够登录。

要是行不通怎么办?

使用 Winbind 设置 Linux 计算机以便使用 Active Directory 进行身份验证并非易事。要配置的东西有很多,而且很多地方都可能会出错,而 Linux 的每个版本和 Samba 的每个版本之间又都存在一些细微差别,这更是雪上加霜。但是您可以查找几个地方,以帮助确定怎样操作。

首先是 Linux 系统日志文件,它保存在 /var/log/messages 中。Samba 将重大事件的消息(例如,丢失文件或配置失败)存储在这个文件中。除了系统日志文件外,还有 Samba 和 Winbind 的日志文件。您可以在 /var/log/samba 中找到这些文件,而且它们还会为您提供一些其他信息。

您可以通过修改 Winbind 的启动脚本来设置调试级别,来提高 Winbind 发出的日志消息的详细程度(和数量)。编辑 /etc/init.d/winbind 外壳脚本,然后在 windbindd 命令中添加“-d 5”。这可将调试级别增加到 5(允许的值范围为 1 至 10),使 Winbind 生成更详细的错误消息。

如果 Winbind 最后可与 DC 通信,您可以运行网络数据包捕获实用工具,如 Netmon 3.1。这使您可以精确分析 Winbind 要进行的操作。而且,您还可以检查 DC 上的 Windows 安全日志,此日志会显示身份验证尝试。

如果行得通,您又应该做些什么呢?

如果一切都能顺利进行,现在您就可以使用在 Active Directory 中保存的凭据登录 Linux 系统中了。与在 Linux 计算机上本地管理标识,或与使用诸如 NIS 之类的不安全系统相比,这是一项重大改进。它使您可以将您的用户管理任务集中到一个标识存储上:Active Directory。

但是,要让这套解决方案真正具备实际用途,还缺几样东西。首先,无法保证能获得技术支持,有点像撞大运。大多数 Linux 组织对于 Active Directory 都不是很了解,而且您可以从 Linux 社区获得的支持完全取决于谁刚好读到您的帖子以及他们当天的心情。

Samba 也没有迁移或部署工具。如果您具有现有的 Linux 帐户及其相关的用户 ID 和权限,则您在将它们迁移至 Active Directory 时,必须手动确保它们维护其 UID。

最后,Samba 仍然无法使用最重要的 Active Directory 应用程序之一,即组策略,尽管已经实施了此策略。虽然您可以使用 Samba 将 Linux 系统加入到 Active Directory 中,但无法使用组策略来管理它。

第三方解决方案

使用 Active Directory 对 Linux 计算机进行身份验证显然是件好事,但使用 Samba Winbind 推出您自己的解决方案,即使不把您累死,也会让您感到枯燥无味。您可能会想,一些创新的软件供应商可能会提出易于使用的解决方案,您猜得没错。

对于我在本文中演示的版本,有四家商用软件供应商已经开发了易于安装和使用的相应版本。它们几乎为每个受欢迎的 Linux、UNIX 和 Apple Macintoshes 版本都提供了代码和迁移工具,另外也支持使用组策略管理 Linux 计算机。

这四家公司分别为 Centrify、Likewise Software、Quest Software 和 Symark。这四家供应商都提供了相似的功能,其中包括跨越各个 Linux 发布版本的组策略管理。Likewise Software 最近还公开了它实现的开放源代码,称为 Likewise Open,但它的组策略组件仍旧是商用产品。Likewise Open 将可用于多个主要的 Linux 发布版本。(注:撰写本文时,本人就职的公司 NetPro 已由 Quest Software 收购。)

有了可用的商用产品后,还有必要使用 Samba 和 Winbind 来构建自己的身份验证系统吗?如果花钱购买集成软件不在预算之内,则可以利用免费的 Samba 开放源代码路由。您还可以获得所有的源代码,这样的好处真是令人难以抗拒。但是,迁移现有的 Linux 计算机及其现有的 UID 是非常棘手的问题。

另一方面,假如您想要省下安装和实现的时间、需要迁移现有的 Linux 计算机,或是希望有人对您的问题提供权威性的解答,那么寻求其中的一种商用解决方案比较划算。另外,如果您需要使用组策略管理功能,那么商用产品是您唯一的选择。

但是,无论您采取哪种方式,将 Linux 身份验证与 Active Directory 集成都可以减少您为管理多用户帐户投入的精力、增强系统安全性,并为您提供单一的标识存储来进行管理和审核,而这些全都是相当吸引人的理由,值得试一试。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyxzyf.html