将几个桌面从/ etc / passwd移到LDAP

我知道有关迁移到LDAP的问题并不是什么新鲜事。 我现在已经search了很多信息,但是我发现的问题是信息在主题上似乎相当分散。 所以我希望有经验的人能指点我正确的方向。

目前的情况:

  • 小型企业,在用户和桌面上不断增长
  • 大约10个Fedora-20桌面/ 3个Fedora-20服务器
  • 1 Synology NAS DS1813 +
  • 约10个用户
  • 所有login在本地桌面上
  • 用户在整个机器networking上没有相同的UID和GID。

显然,使用诸如LDAP之类的集中式用户目录变得越来越有吸引力。

问题是

不幸的是,我无法find覆盖真实情况的整个过程的可靠和完整的指南。

  • 设置服务器和configuration客户端:好的,从我读的,不是最简化的过程,但即使有点棘手,我相信这是可行的。
  • 从所有机器迁移所有用户:这里是“微妙”的部分。 显然,我不想冒任何信息损失的风险。 再次,我find了一些关于迁移和MigrationTools的指南,但是这些来源都没有给我一个值得信赖的指导。 典型的情况是:有一个维基页面或者其他的一些说明和大量的评论,抱怨程序在某个时候失败了。 提出的问题往往不仅仅是给出的答案。 这怎么能让我觉得我可以安全地开始这个过程呢?

一些具体问题:

  • 是否有一套最新的最佳实践/build议的工具,对于这样的迁移过程当然应该考虑? 特别是关注真实情况? 要遵循哪些顺序,要注意什么,如何最大限度地减less数据丢失的风险,如何最大限度地减less用户的停机时间等?
  • 假设用户'roberto'在两台机器上存在(具有不同的ID)。 通过将两台机器上的/ etc / passwd信息迁移到LDAP,它们在整个过程中是否“合并”? 如果不是,应该做什么?
  • 迁移是否可以分阶段进行,仅供一个用户开始使用? 这是可取的吗?
  • 我想到的另一个(也许是天真的)方法是:创build新的LDAP用户,然后将所有文件从旧本地用户的所有权更改为这些新用户,然后删除旧的本地用户。 这是否有意义呢? 任何以前的经验?
  • LDAP与ACL有什么关系? 他们一起去吗?
  • 以下所需步骤是将用户的主目录集中到NFS上的共享空间。 任何指向以下步骤的指针也将受到欢迎,特别是在链接到LDAP迁移时。

首先,教程等问题是无关紧要的 。

一些想法:

  • 你是对的,关于这方面的信息是分散的,往往是过时的和不可靠的。 作为一个例子,你可以find很多关于如何configurationOpenLDAP和configuration文件的信息,但是关于cn=config的信息却很less。 我的猜测是,这是由于这样的每一次迁移都是不同的,而且没有什么黄金的方法可以继续下去。 写一篇关于这个东西的教程是不可能的,这个教程在任何地方都可以工作,或者你最终写一本非常大的书。
  • 这意味着你必须拼凑在一起,适应你的情况。 没有其他办法了。 你很幸运,因为你的环境看起来非常小,如果需要的话,所有必要的事情都可以在一个周末完成。
  • 虚拟化工具对此非常有帮助,因为您可以轻松地模拟笔记本电脑上的所有内容,而不会影响其他人。

我有一些一般的提示,你如何进行。 这假设一步一步的方法没有太多的停机时间。

  • 创build一个所有用户的列表。
  • 手动确保它们在所有系统上具有相同的UID等。 大多数情况下,这意味着编辑/etc/passwd等,然后findchmod属于用户的所有文件。
  • 如果您的用户名有冲突,则应在此步骤解决(例如,销售和客户服务中的两个Bob都在其计算机上命名为bob
  • 此时,可以将具有统一UID的所有用户添加到LDAP数据库。 专业提示:在Linux上使用OpenLDAP时,如果将{crypt}作为密码types前缀添加到LDAP userPassword字段,则可以重新使用/etc/shadow中的密码(因此您将$1$E.1Saa9d$LcRBQDLfnzR6WF4HmbjpC/变成{crypt}$1$E.1Saa9d$LcRBQDLfnzR6WF4HmbjpC/
  • 您现在可以逐一configuration您的机器以对LDAP进行身份validation,并且用户帐户仍应使用相同的密码(但请记住要删除/重命名本地用户)。
  • 为主目录创build一个NFS服务器,并确保它到处安装(iSCSI有不同的用途)。
  • 将用户主目录复制到NFS共享中,将旧/home重命名为其他名称,并将NFS共享挂载为/home

这可能是一个或多或less简单的过程,但取决于你的环境,问题可能(将!)popup。 但是当沿着这条道路行事的时候,你可以在出现的时候一一处理。 你处于一个无所不能的局面,没有任何可能阻止一切。 这是一个非常舒适的情况下这样的项目。

如果您最终遇到具体问题,请在此提出新问题。

学习材料和教程的要求是无关紧要的 。

要遵循哪些顺序,要注意什么,如何最大限度地减less数据丢失的风险,如何最大限度地减less用户的停机时间等?

首先决定你的要求和范围。 写下来,让他们审查。
除了LDAP之外,还要考虑设置Kerberos。 单一login的可能性通常会为最终用户带来真正的商业利益,并使他们更愿意在迁移过程中应对中断。 最终用户通常不关心整体变化,相当明显地看到,仅仅有利于系统pipe理员的生活的运营改进看来没有直接的好处。
FreeIPA提供了一个综合的方法。

清点现有的passwd和group文件以及sudoconfiguration。 不要忽视当前用户名/密码保护的其他服务,这些服务可能受益于与中央用户目录(和SSO)的集成,如Web服务器上的安全目录等。

testing你的方法,脚本等进行备份和testing恢复它们。 SSSD似乎是一种configuration工作站和服务器以相对轻松地与目录(和FreeIPA)集成的方式。

在工作站上安装中央主目录通常是一个好主意,尤其是与自动贴片机(autofs)结合使用。 在服务器上做同样的事(使用auto-f也是这样)似乎引起了更多的讨论。 如果你确实走了这条路线,如果你或者你的用户应该是合并他们的人,那么你应该思考。

dataloss的风险是比较小的,但你做备份和testing恢复定期,对吗?

假设用户'roberto'在两台机器上存在(具有不同的ID)。 通过将两台机器上的/ etc / passwd信息迁移到LDAP,它们在整个过程中是否“合并”? 如果不是,应该做什么?

不,它们不会自动合并,因为用户帐户只能有一个UID号码,并且每个用户名也必须是唯一的。 由于文件所有权由文件系统存储在UID号码上,因此丢弃一个UID将导致所有者失去这些文件的权利。 您需要从原来的所有者更改为与您为同一个真人重复的用户决定的最终UID号码相匹配。 例如,沿线的东西find -owner old-UID -exec chown new-UID '{}' \; 重复的用户名为不同的真实的人会导致他们中的一个新的用户名,或者你们都相信分担痛苦。

对于主要群体用户来说同样适用。

迁移是否可以分阶段完成,只能由一个用户开始? 这是可取的吗?

身份validation方法大多是针对每个系统而定义的,而不是以用户为基础,通过主机迁移主机比每个用户迁移更有意义。 如果每个用户都有自己的工作站,那么您可以从一开始就select一个工作站,因为任何问题都会限制对单个用户的影响。 一旦所有的用户都在目录中,那么做服务器是相对容易的。

以下所需步骤是将用户的主目录集中到某个networking空间(NFS或iSCSI)。 任何指向以下步骤的指针也将受到欢迎,特别是在链接到LDAP迁移时。

对于集中式主目录来说,文件共享比块设备要好得多,所以一定要使用NFS。 使用NFSv4解决了传统NFS的许多问题,并与Kerberos相结合,安全性也大大提高。

在转移到集中的主目录时,转换工作站上的身份validation可能会同时发生。

至于你所瞄准的系统,它可能是值得你去免费IPA,因为如果将来有人实现一些活动目录框,很容易链接。

至于迁移..至less你说的是小规模的,所以“蚀刻networking结束”是一个select。

Sudo的权利,显然这是至关重要的,与less量的机器,任何acl的东西应该很容易处理。

很明显,你不能在LDAP和本地拥有同名的用户,所以我首先要解决你的服务器问题,然后在目录中加载,然后移动到桌面上。