community.general.ipa_config 模块 – 管理全局 FreeIPA 配置设置

注意

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

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

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

要在剧本中使用它,请指定: community.general.ipa_config

概要

  • 修改 FreeIPA 服务器的全局配置设置。

参数

参数

注释

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"

ipaconfigstring

别名:configstring

列表 / 元素=字符串

在 community.general 2.5.0 中添加

在密码插件中生成的额外哈希值。

选项

  • "AllowNThash"

  • "KDC:Disable Last Success"

  • "KDC:Disable Lockout"

  • "KDC:Disable Default Preauth for SPNs"

ipadefaultemaildomain

别名:emaildomain

字符串

新用户的默认电子邮件域名。

ipadefaultloginshell

别名:loginshell

字符串

新用户的默认 shell。

ipadefaultprimarygroup

别名:primarygroup

字符串

在 community.general 2.5.0 中添加

新用户的默认组。

ipagroupobjectclasses

别名:groupobjectclasses

列表 / 元素=字符串

在 community.general 7.3.0 中添加

组 objectclasses 的列表。

ipagroupsearchfields

别名:groupsearchfields

列表 / 元素=字符串

在 community.general 2.5.0 中添加

搜索组时要搜索的字段列表。

ipahomesrootdir

别名:homesrootdir

字符串

在 community.general 2.5.0 中添加

主目录的默认位置。

ipakrbauthzdata

别名:krbauthzdata

列表 / 元素=字符串

在 community.general 2.5.0 中添加

服务支持的默认 PAC 类型。

选项

  • "MS-PAC"

  • "PAD"

  • "nfs:NONE"

ipamaxusernamelength

别名:maxusernamelength

整数

在 community.general 2.5.0 中添加

用户名最大长度。

ipapwdexpadvnotify

别名:pwdexpadvnotify

整数

在 community.general 2.5.0 中添加

即将过期密码的通知(以天为单位)。

ipasearchrecordslimit

别名:searchrecordslimit

整数

在 community.general 2.5.0 中添加

要搜索的记录最大数量(-1 或 0 表示无限制)。

ipasearchtimelimit

别名:searchtimelimit

整数

在 community.general 2.5.0 中添加

搜索的最大时间(秒)(-1 或 0 表示无限制)。

ipaselinuxusermaporder

别名:selinuxusermaporder

列表 / 元素=字符串

在 community.general 3.7.0 中添加

SELinux 用户映射顺序(SELinux 用户优先级递增顺序)。

ipauserauthtype

别名:userauthtype

列表 / 元素=字符串

在 community.general 2.5.0 中添加

默认使用的身份验证类型。

在 community.general 7.3.0 中添加了 idp 选择。

在 community.general 8.1.0 中添加了 passkey 选择。

选项

  • "password"

  • "radius"

  • "otp"

  • "pkinit"

  • "hardened"

  • "idp"

  • "passkey"

  • "disabled"

ipauserobjectclasses

别名:userobjectclasses

列表 / 元素=字符串

在 community.general 7.3.0 中添加

用户 objectclasses 的列表。

ipausersearchfields

别名:usersearchfields

列表 / 元素=字符串

在 community.general 2.5.0 中添加

搜索用户时要搜索的字段列表。

validate_certs

布尔值

这仅在 ipa_prothttps 时适用。

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

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

选项

  • false

  • true ← (默认)

属性

属性

支持

描述

check_mode

支持:完全支持

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

diff_mode

支持:不支持

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

示例

- name: Ensure password plugin features DC:Disable Last Success and KDC:Disable Lockout are enabled
  community.general.ipa_config:
    ipaconfigstring: ["KDC:Disable Last Success", "KDC:Disable Lockout"]
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

- name: Ensure the default login shell is bash
  community.general.ipa_config:
    ipadefaultloginshell: /bin/bash
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

- name: Ensure the default e-mail domain is ansible.com
  community.general.ipa_config:
    ipadefaultemaildomain: ansible.com
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

- name: Ensure the default primary group is set to ipausers
  community.general.ipa_config:
    ipadefaultprimarygroup: ipausers
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

- name: Ensure the group search fields are set to 'cn,description'
  community.general.ipa_config:
    ipagroupsearchfields: ['cn', 'description']
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

- name: Ensure the home directory location is set to /home
  community.general.ipa_config:
    ipahomesrootdir: /home
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

- name: Ensure the default types of PAC supported for services is set to MS-PAC and PAD
  community.general.ipa_config:
    ipakrbauthzdata: ["MS-PAC", "PAD"]
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

- name: Ensure the maximum user name length is set to 32
  community.general.ipa_config:
    ipamaxusernamelength: 32
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

- name: Ensure the password expiration notice is set to 4 days
  community.general.ipa_config:
    ipapwdexpadvnotify: 4
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

- name: Ensure the search record limit is set to 100
  community.general.ipa_config:
    ipasearchrecordslimit: 100
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

- name: Ensure the search time limit is set to 2 seconds
  community.general.ipa_config:
    ipasearchtimelimit: 2
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

- name: Ensure the default user auth type is password
  community.general.ipa_config:
    ipauserauthtype: ['password']
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

- name: Ensure the user search fields is set to 'uid,givenname,sn,ou,title'
  community.general.ipa_config:
    ipausersearchfields: ['uid', 'givenname', 'sn', 'ou', 'title']
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

- name: Ensure the SELinux user map order is set
  community.general.ipa_config:
    ipaselinuxusermaporder:
      - "guest_u:s0"
      - "xguest_u:s0"
      - "user_u:s0"
      - "staff_u:s0-s0:c0.c1023"
      - "unconfined_u:s0-s0:c0.c1023"
    ipa_host: localhost
    ipa_user: admin
    ipa_pass: supersecret

返回值

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

描述

config

字典

IPA API 返回的配置。

返回:始终返回

作者

  • Fran Fitzpatrick (@fxfitz)