Red Hat Training

A Red Hat training course is available for RHEL 8

14.7. 添加没有用户私有组的用户

默认情况下,每当在 IdM 中创建新用户时,IdM 都会创建用户私有组(UPG)。UPG 是特定的组类型:

  • UPG 与新创建的用户具有相同的名称。
  • 用户是 UPG 的唯一成员。UPG 不能包含任何其他成员。
  • 私有组的 GID 与用户的 UID 相匹配。

不过,可以添加用户而不创建 UPG 。

14.7.1. 没有用户私有组的用户

如果 NIS 组或其他系统组已使用将要分配给用户私有组的 GID,则有必要避免创建 UPG。

您可以通过两种方式执行此操作:

在这两种情况下,在添加新用户时,IdM 都需要指定 GID,否则操作将失败。这是因为对于新用户,IdM 需要 GID,但默认用户组 ipausers 是一个非 POSIX 组,因此没有关联的 GID。您指定的 GID 不必对应于已经存在的组。

注意

指定 GID 不会创建新组。它仅为新用户设置 GID 属性,因为 IdM 需要属性。

14.7.2. 在全局启用私有组时添加没有用户私有组的用户

您可以添加用户而不创建用户私有组(UPG),即使系统上启用了 UPG。这需要为新用户手动设置 GID。有关为何需要此功能的详情,请查看 没有用户私有组的用户

流程

  • 要防止 IdM 创建 UPG,请在 ipa user-add 命令中添加 --noprivate 选项。

    请注意,若要命令成功,您必须指定一个自定义的 GID。例如,使用 GID 10000 添加新用户:

    $ ipa user-add jsmith --first=John --last=Smith --noprivate --gid 10000

14.7.3. 对所有用户全局禁用用户私有组

您可以在全局范围内禁用用户私有组(UPG)。这样可防止为所有新用户创建 UPG。现有用户不会受到这一更改的影响。

流程

  1. 获取管理员权限:

    $ kinit admin
  2. IdM 使用目录服务器管理的条目插件来管理 UPG。列出插件的实例:

    $ ipa-managed-entries --list
  3. 要确保 IdM 不创建 UPG,请禁用负责管理用户私有组的插件实例:

    $ ipa-managed-entries -e "UPG Definition" disable
    Disabling Plugin
    注意

    要在稍后重新启用 UPG Definition 实例,请使用 ipa-managed-entries -e "UPG Definition" enable 命令。

  4. 重新启动目录服务器来加载新配置。

    $ sudo systemctl restart dirsrv.target

    要在禁用 UPG 后添加用户,您需要指定 GID。如需更多信息,请参阅在用户私有组群全局禁用时添加用户

验证步骤

  • 要检查 UPG 是否全局禁用,请再次使用 disable 命令:

    $ ipa-managed-entries -e "UPG Definition" disable
    Plugin already disabled

14.7.4. 当全局禁用用户私有组时添加用户

当全局禁用用户私有组(UPG)时,IdM 不会自动为新用户分配 GID。要成功添加用户,您必须手动分配 GID,或使用自动成员规则来分配 GID。有关为何需要此功能的详情,请查看 没有用户私有组的用户

先决条件

流程

  • 要确保在禁用创建 UPG 时成功添加新用户,请选择以下之一:

    • 添加新用户时指定自定义的 GID。GID 不必对应于已经存在的用户组。

      例如,当从命令行添加用户时,请在 ipa user-add 命令中添加 --gid 选项。

    • 使用自动成员规则将用户添加到具有 GID 的现有组中。