这适用于一家没有实施任何集中式用户数据库的小公司(12 名开发人员)——他们已经有机地成长,只是根据需要在计算机上创建帐户。
从管理的角度来看,这是一场噩梦 - 10 台计算机都拥有不同的用户帐户。如果将用户添加到一台计算机,则需要手动将其添加到所有其他计算机(他们需要访问)。这远非理想。随着越来越多的计算机/用户被添加/雇用,向前发展和发展业务将意味着更多的工作。
我知道迫切需要某种集中的用户管理。但是,我在 Active Directory 和 OpenLDAP 之间进行辩论。当前的两台服务器用作简单的备份和文件共享服务器,均运行 Ubuntu 8.04LTS。这些计算机混合了 Windows XP 和 Ubuntu 9.04。
我没有使用 Active Directory 的经验(或者真正的 OpenLDAP,但我对 Linux 很满意),但如果一种解决方案胜过另一种,那么我有必要了解这一点。
前期成本并不是真正的问题,TCO 才是。如果 Windows(我假设是 SBS?)将为我节省足够的时间来弥补增加的前期成本,那么我认为我应该采用该解决方案。
对于我的需求,我应该考虑实施什么解决方案?
编辑:电子邮件托管在异地,因此不需要 Exchange。
您将从 Active Directory 中获得许多 OpenLDAP 所没有的出色功能。其中最主要的是单点登录(即一个用户帐户适用于所有客户端和服务器计算机)和组策略。
我喜欢开源软件,但在 Samba 4 成熟之前,Active Directory 为 Windows 2000 和更新的客户端计算机提供了最佳的管理体验。
如果不使用第三方软件,Windows XP 客户端就没有基于标准的 LDAP 身份验证。在这里阅读我的答案:Kerberos 与 Windows XP 的集成——使用 OpenLDAP 的体验将非常相似(除了您需要预先使用 pGINA 等第三方软件来进行 LDAP 身份验证):如何让 windows xp 进行身份验证kerberos 或 heimdal
是否使用 Windows Small Business Server 取决于您想要花费的费用(SBS 的客户端访问许可证的初始成本和成本超过“普通”Windows)以及您是否会从额外的“特征”。我更喜欢将 Windows SBS 视为一种廉价的 Windows 和 Exchange 捆绑包(具有我从未使用过的过于复杂的设置和简陋的管理工具。)我倾向于像管理“普通”Windows 和 Exchange Server 机器一样管理 Windows SBS,而且它可以工作非常好。
带有 Active Directory、Microsoft DHCP/DNS、WSUS(为客户端计算机提供更新)和一些组策略对象(用于处理配置用户/计算机环境和安装软件)的 Windows Server 将极大地减轻您的管理负担,并使添加未来计算机变得容易。Exchange 的启动和运行并不难(最大的问题与让您的邮件从 Internet 流向它有关——很多人似乎不了解 DNS 和 SMTP 如何协同工作)。
假设您的安装是由知道他们在做什么的人执行的,并且您在事后对所有事情都进行了很好的处理,那么它对您来说运行良好,而不会带来很多管理上的麻烦。我不同意那些抱怨 Windows 和 Exchange 不可靠的人,因为他们通常会遇到问题,因为他们要么 (a) 使用劣质硬件并且从长远来看付出了代价,或者 (b) 没有能力管理软件。我的 Windows SBS 安装一直追溯到 4.0 版的时间框架,在安装多年后运行良好——您也可以拥有一个。
如果您对这些产品没有任何经验,我建议您与信誉良好的顾问合作执行安装,让您开始自给自足地进行管理。如果我知道一本好书,我会推荐一本好书,但我对我读过的几乎所有书都相当不满意(它们似乎都缺乏现实生活中的例子和案例研究,通常)。
有很多顾问可以让您以低廉的价格起步(您正在谈论的设置,假设您要自己完成“大量”工作,感觉大约需要一天半到两天的时间)对我来说,基本的 Windows 和 Exchange 安装)并且可以帮助您“学习”。如果您选择这样做,大部分工作将用于迁移您现有的用户环境(将他们现有的文档和配置文件迁移到他们新的 AD 帐户的漫游用户配置文件并重定向“我的文档”文件夹等)。(我愿意,只是因为从长远来看,它会让用户更快乐、更有效率。)
您应该计划某种备份设备和备份管理软件、具有冗余磁盘(最低RAID-1)的服务器计算机,以及某种电源保护 (UPS)。我预计,使用低端服务器、许可成本和电源保护硬件,您可以通过 Windows SBS 以大约 3500.00 美元到 4000.00 美元的价格买到。就个人而言,我会为您指定大约 10 到 20 小时的设置工作,具体取决于您对自己的需求的熟悉程度以及您希望被教做多少工作,而不是让安装人员来做。
以下是我在像您这样的部署中看到的典型安装任务类型的高级列表:
如果我正确阅读了您的问题,请坚持使用开源:
AD 擅长将窗口管理得很好,但如果你不需要它,你就是在给自己买一条不会带来很多好处的学习曲线。
2 警告
OpenLDAP 可用于检查密码,但它主要是一种管理身份的集中方式。AD 集成了 ldap、kerberos、DNS 和 DHCP。它是一个比 OpenLDAP 本身更全面的系统。
从管理的角度来看,您可以简单地将 AD 安装在一对 win2k3 服务器上,并将所有 unix 系统指向它,并将 AD 服务器仅用于密码检查。使用 pam 制作一个 unix 系统使用 kerberos 进行密码检查和本地密码文件进行授权是非常简单的。它不如完整的 AD 集成好,但实施起来也很简单。
AD linux集成的优缺点
使用 AD 作为 kerberos 服务器来验证本地帐户
您还应该看看基于 Netscape LDAP 代码库的Fedora 目录服务器(现在显然是正式的“389 目录服务器”)。它由 RedHat 以其品牌销售,因此得到积极维护。我听说它在某些方面比 OpenLDAP 更好,尽管我自己从未使用过它。它可能在功能上比 OpenLdap 本身更接近 AD,OpenLdap 实际上只是一个完全成熟的目录系统的核心。
还有Apache Directory Server,它是纯 Java 并且看起来也正在积极开发中。
由于您两者都没有经验,因此学习曲线会产生成本(主要是时间成本)。从维护的角度来看,您真正需要接触 LDAP 的唯一一次是添加/删除帐户或修改其属性(名称/地址更改)。两者都很容易做到这一点。从实现的角度来看,它是您希望能够最轻松地允许客户端与之通信的目录:Active Directory 更容易,因为 Windows 客户端可以本地“对话”到域控制器和允许 Ubuntu/其他 Linux 的文档从 AD 进行身份验证是现成的。如果您希望您的 Windows 客户端能够通过 openLDAP 进行身份验证,您将需要一个 SAMBA 服务器来监听请求(openLDAP 本身不这样做)。
AD 提供诸如组策略和其他管理东西之类的东西,你不会很容易使用 openLDAP 解决方案,安装 Windows Server 的基本部署并将其与 XP/Vista/7 客户端集成是很容易的,Ubuntu 客户端的集成是AD 和 openLDAP 的难度相当。
像 Suse SLES 和 Redhat Enterprise Server(或 CentOS)这样的产品使 Win 和 Linux 的集成比 Ubuntu 或 Debian 服务器更容易,但仍有很多东西需要学习。
如果成本是一个问题,您可以使用 Linux 和一些附加软件(如 Nitrobit Group 策略)创建一个设置,这将允许相当数量的功能,但学习曲线陡峭。