community.general.ipa_user 模块 – 管理 FreeIPA 用户
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install community.general。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。
要在 Playbook 中使用它,请指定:community.general.ipa_user。
概要
- 在 IPA 服务器中添加、修改和删除用户。 
要求
执行此模块的主机需要满足以下要求。
- base64 
- hashlib 
参数
| 参数 | 注释 | 
|---|---|
| 显示名称。 | |
| Posix 组 ID。 | |
| 名字。 如果用户不存在并且  | |
| 用户的默认主目录。 | |
| IPA 服务器的 IP 或主机名。 如果任务中未指定该值,则将改用环境变量  如果环境变量  FreeIPA 中需要的相关条目是  如果 DNS 条目、环境变量  默认值:  | |
| 管理用户的密码。 如果任务中未指定该值,则将改用环境变量  请注意,如果  如果环境变量  如果环境变量  如果 GSSAPI 不可用,则必须使用  | |
| FreeIPA / IPA 服务器的端口。 如果任务中未指定该值,则将改用环境变量  如果环境变量  默认值:  | |
| IPA 服务器使用的协议。 如果任务中未指定该值,则将改用环境变量  如果任务中既未指定环境变量  选项 
 | |
| 指定连接的空闲超时时间(以秒为单位)。 对于批量操作,您可能需要增加此值,以避免 IPA 服务器超时。 如果任务中未指定该值,则将使用环境变量  如果任务中既未指定环境变量  默认值:  | |
| IPA 服务器上使用的管理帐户。 如果任务中未指定该值,则将使用环境变量  如果任务中既未指定环境变量  默认值:  | |
| 用户密码过期的日期。 格式为 YYYYMMddHHmmss。 例如,20180121182022 将在 2018 年 1 月 21 日 18:20:22 过期。 | |
| 登录 Shell。 | |
| 分配给用户的邮件地址列表。 如果传递一个空列表,则所有分配的电子邮件地址将被删除。 如果传递 None,则不会检查或更改电子邮件地址。 | |
| 用户的密码。 除非  | |
| 姓氏。 如果用户不存在且  | |
| 公共 SSH 密钥列表。 如果传递一个空列表,则所有分配的公钥将被删除。 如果传递 None,则不会检查或更改 SSH 公钥。 | |
| 要确保的状态。 选项 
 | |
| 分配给用户的电话号码列表。 如果传递一个空列表,则所有分配的电话号码将被删除。 如果传递 None,则不会检查或更改电话号码。 | |
| 职称。 | |
| 用户的 uid。 | |
| 帐户设置 UID/Posix 用户 ID 号码。 | |
| 设置用户的密码。 选项 
 | |
| 用于用户的身份验证类型。 要从用户中删除所有身份验证类型,请使用一个空列表  选项  选项 
 | |
| 这仅在  如果设置为  这应仅在个人控制的站点上使用自签名证书时设置为  选项 
 | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 支持: 完整 | 可以在  | |
| 支持: 无 | 当处于差异模式时,将返回有关已更改(或可能需要在  | 
示例
- name: Ensure pinky is present and always reset password
  community.general.ipa_user:
    name: pinky
    state: present
    krbpasswordexpiration: 20200119235959
    givenname: Pinky
    sn: Acme
    mail:
    - pinky@acme.com
    telephonenumber:
    - '+555123456'
    sshpubkey:
    - ssh-rsa ....
    - ssh-dsa ....
    uidnumber: '1001'
    gidnumber: '100'
    homedirectory: /home/pinky
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret
- name: Ensure brain is absent
  community.general.ipa_user:
    name: brain
    state: absent
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret
- name: Ensure pinky is present but don't reset password if already exists
  community.general.ipa_user:
    name: pinky
    state: present
    givenname: Pinky
    sn: Acme
    password: zounds
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret
    update_password: on_create
- name: Ensure pinky is present and using one time password and RADIUS authentication
  community.general.ipa_user:
    name: pinky
    state: present
    userauthtype:
      - otp
      - radius
    ipa_host: ipa.example.com
    ipa_user: admin
    ipa_pass: topsecret
返回值
常见的返回值记录在这里,以下是此模块独有的字段
| 键 | 描述 | 
|---|---|
| IPA API 返回的用户 返回: 总是 | 
