当本地用户名与networking用户名冲突时该怎么做

我们使用Puppet来pipe理我们的Linux桌面机器和SSSD,以使我们的用户通过中央authentication系统进行authentication。 最近当我们build立了几台新机器的时候,我们发现木偶在安装软件包的过程中正在停止。 罪魁祸首是kdm包,当最近一个“kdm”用户名被添加到中央机构时,它试图添加一个本地“kdm”用户。

通常情况下,我发现这个问题是通过命名空间分割机制(比如Windows域)来处理的,但是我在Linuxpipe理中的短暂时间并不能真正帮助我find一个好办法。

我可以想出如何解决这个问题的一些一般想法(最优雅到最不优雅):

  1. 找出从中央用户名划分系统用户名的一个好方法,这样以后的冲突就不成问题了。
  2. 使用dpkg标志强制kdm包添加一个不同的用户名(或使用nobody)。
  3. 强制dpkg添加用户。 这将不允许用户login到我们的系统,但这很可能不会成为问题。

当然,(2)和(3)并没有解决潜在的问题,但是如果(1)式中的解决scheme对我们目前的设置造成特别的损害,则像(2)或(3) 。

提出一个更好的用户命名scheme… (或强制“kdm”使用不同的login凭证)

多年来,我必须学习这一课,因为我inheritance了带有三个字母用户名的商业Unix系统。 将这些服务器移到Linux中会暴露与系统服务帐户的冲突。 最糟糕的情况是Randy P. McDonald ,或userID“ rpm ”。 基于Redhat的系统中的RPM软件包pipe理器使用“rpm”帐户。

其他冲突随时间发生。 用户名“adm”,“lp”和“ftp”已经成为问题了。

我的永久性修复是修改用户命名scheme,使其更健壮。 三首字母不是可扩展的。

这是了解你的环境的一部分。 你可以使用桌面Linux(大概是把KDM作为一个窗口pipe理器,而不是Gnome),而从权限和系统操作的angular度来看,“kdm”用户是关键。

对个人软件包或dpkg任何更改都会要求您在升级系统,迁移到新的操作系统版本等时记住该步骤。添加用户可能会导致时髦的权限。