过去几天,我一直在研究将运行 OpenLDAP/Samba 3 配置且拥有约 100 个用户的旧 Linux 服务器迁移到运行 Samba 4 的新 SBS 服务器(如 Zentyal 或 UCS)。提供的服务包括共享、邮件、Webmail 和日历。
已经有人问过的问题是如何迁移用户帐户和密码。我不再关心自动迁移,所以我将手动重新创建所有用户和组以及设置。
到目前为止,迁移密码的想法如下:
- 通过发行版升级实现自动迁移 -> 没有 SBS Linux 发行版提供自动升级路径(可惜!)
- 手动将密码复制到 Samba 4 -> 不起作用,因为 OpenLDAP 将它们存储为 {SHA}
- 让所有用户在服务台选择新密码 -> 用户会杀了我
- 使用 samba-tool classicuprade 升级 samba 部分 -> 不适用于配置,未创建用户,导致 Web 管理配置损坏
- 使用 Apache Directory Studio 读取密码并将其重新植入 Samba 4 LDAP -> 不起作用,原因与 2 相同
- 使用 MS Active Directory 迁移工具 -> 在互联网上未找到在 OpenLDAP 上运行此工具的用户
到目前为止,最好的想法是创建一个中间层作为 web 服务,它将通过用户指南或其他东西进行传播,用户可以使用计算机上的本地帐户更改密码(这是存在的,因为这里的域集成不是很紧密)。这只需要从用户那里获取旧密码,将其与 OpenLDAP 哈希进行比较,然后在 Samba 4 上设置新密码(现在不强制使用新密码,所以现在也是这样做的好时机)(使用 smbpassword 或其他东西)。
将所有计算机集成/迁移到 AD 是一项不同的任务,因为简介中列出了关键服务。
我发现https://code.google.com/p/pwm/,它提供了用于更改密码的用户界面,但没有可用于迁移密码的用例。
还有人有更好的主意吗?
罗伯特
答案1
我正在为您提到的 UCS 制造商 Univention 工作,是的,我们有一个使用 UCS 将密码迁移到 Samba 4 的解决方案。
您可以通过两个步骤实现此目的:首先使用 Samba 3 安装 UCS,并将 sambaNTPassword 哈希从 OpenLDAP 迁移到新的 UCS-OpenLDAP(ldapsearch 和 ldapmodify 似乎是最舒适的方式)。第二步,您可以将 UCS 系统从 Samba 3 更新到 Samba 4(就地)。
转到 Univention wiki。其中有关于如何使用 Samba 3 将现有 Samba 3 安装迁移到 UCS 3 的说明:
Univention Wiki-使用 Samba 3 从 Samba 3 迁移到 UCS 3
此过程还将迁移所有计算机,因此您将同时实现两个目标。
关于从 Samba 3 更新到 4 的说明链接位于:
Univention Wiki-从 Samba 3 迁移到 Samba 4
问候 Maren