community.general.ipa_group 模块 – 管理 FreeIPA 组

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general

要在 playbook 中使用它,请指定:community.general.ipa_group

摘要

  • 在 IPA 服务器中添加、修改和删除组

参数

参数

注释

append

布尔值

在 community.general 4.0.0 中添加

如果 true,则将列出的 usergroup 添加到组成员。

如果 false,则只有列出的 usergroup 将成为组成员,删除任何其他成员。

选项

  • false ← (默认值)

  • true

cn

别名:name

字符串 / 必需

规范名称。

不能更改,因为它是唯一的标识符。

description

字符串

组的描述。

external

布尔值

允许从受信任的域添加外部非 IPA 成员。

选项

  • false

  • true

external_user

列表 / 元素=字符串

在 community.general 6.3.0 中添加

分配给此组的外部用户列表。

append 属性方面,其行为与 user 相同。

列表项可以为 DOMAIN\\username 或 SID 格式。

除非提供 SID,否则即使组已拥有所有用户,模块也会始终尝试进行更改。这是因为 IPA 查询只返回 SID。

external=true 需要此选项才能正常工作。

gidnumber

别名:gid

字符串

GID(使用此选项手动设置)。

group

列表 / 元素=字符串

分配给此组的组名列表。

如果 append=false 并传递空列表,则所有组都将从此组中删除。

已分配但未传递的组将被删除。

如果 append=true,则列出的组将被分配,而不会删除其他组。

如果省略此选项,则不会检查或更改已分配的组。

ipa_host

字符串

IPA 服务器的 IP 或主机名。

如果任务中未指定此值,则将改用环境变量 IPA_HOST 的值。

如果任务中既未指定环境变量 IPA_HOST,也未指定此值,则将使用 DNS 来尝试发现 FreeIPA 服务器。

FreeIPA 中需要的相关条目是 ipa-ca 条目。

如果任务中 DNS 条目、环境变量 IPA_HOST 和此值均不可用,则将使用默认值。

默认值: "ipa.example.com"

ipa_pass

字符串

管理员用户的密码。

如果任务中未指定此值,则将改用环境变量 IPA_PASS 的值。

请注意,如果 urllib_gssapi 库可用,则可以使用 GSSAPI 进行 FreeIPA 身份验证。

如果环境变量KRB5CCNAME可用,模块将使用此Kerberos凭据缓存来认证FreeIPA服务器。

如果环境变量KRB5_CLIENT_KTNAME可用,且KRB5CCNAME不可用;模块将使用此Kerberos密钥表进行身份验证。

如果GSSAPI不可用,则需要使用ipa_pass

ipa_port

整数

FreeIPA/IPA服务器的端口。

如果任务中未指定此值,则将使用环境变量IPA_PORT的值。

如果任务中既未指定环境变量IPA_PORT的值,也未指定此值,则将设置默认值。

默认值: 443

ipa_prot

字符串

IPA服务器使用的协议。

如果任务中未指定此值,则将使用环境变量IPA_PROT的值。

如果任务中既未指定环境变量IPA_PROT的值,也未指定此值,则将设置默认值。

选项

  • "http"

  • "https" ← (默认)

ipa_timeout

整数

指定连接的空闲超时时间(以秒为单位)。

对于批量操作,您可能需要增加此值以避免IPA服务器超时。

如果任务中未指定此值,则将使用环境变量IPA_TIMEOUT的值。

如果任务中既未指定环境变量IPA_TIMEOUT的值,也未指定此值,则将设置默认值。

默认值: 10

ipa_user

字符串

在IPA服务器上使用的管理帐户。

如果任务中未指定此值,则将使用环境变量IPA_USER的值。

如果任务中既未指定环境变量IPA_USER的值,也未指定此值,则将设置默认值。

默认值: "admin"

nonposix

布尔值

创建为非POSIX组。

选项

  • false

  • true

state

字符串

要确保的状态

选项

  • "absent"

  • "present" ← (默认)

user

列表 / 元素=字符串

分配给此组的用户名称列表。

如果append=false并且传递了一个空列表,则将从该组中删除所有用户。

已分配但未传递的用户将被删除。

如果append=true,则将分配列出的用户,而不会删除其他用户。

如果省略此选项,则不会检查或更改已分配的用户。

validate_certs

布尔值

这仅在ipa_prothttps时适用。

如果设置为false,则不会验证SSL证书。

只有在使用自签名证书的个人控制站点上才应将其设置为false

选项

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持:完全支持

可以在check_mode下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

处于差异模式时,将返回有关已更改内容(或可能需要在check_mode下更改的内容)的详细信息。

示例

- name: Ensure group is present
  community.general.ipa_group:
    name: oinstall
    gidnumber: '54321'
    state: present
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret

- name: Ensure that groups sysops and appops are assigned to ops but no other group
  community.general.ipa_group:
    name: ops
    group:
    - sysops
    - appops
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret

- name: Ensure that users linus and larry are assign to the group, but no other user
  community.general.ipa_group:
    name: sysops
    user:
    - linus
    - larry
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret

- name: Ensure that new starter named john is member of the group, without removing other members
  community.general.ipa_group:
    name: developers
    user:
    - john
    append: true
    state: present
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret

- name: Add external user to a group
  community.general.ipa_group:
   name: developers
   external: true
   append: true
   external_user:
   - S-1-5-21-123-1234-12345-63421
   ipa_host: ipa.example.com
   ipa_user: admin
   ipa_pass: topsecret

- name: Add a user from MYDOMAIN
  community.general.ipa_group:
   name: developers
   external: true
   append: true
   external_user:
   - MYDOMAIN\\john
   ipa_host: ipa.example.com
   ipa_user: admin
   ipa_pass: topsecret

- name: Ensure group is absent
  community.general.ipa_group:
    name: sysops
    state: absent
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret

返回值

常见的返回值已在此处记录,以下是此模块独有的字段

Key

描述

group

字典

IPA API返回的组

返回值:始终返回

作者

  • Thomas Krahn (@Nosmoht)