ansible 常用模块 user
模块说明
-
管理用户帐户和用户属性。
- 此模块用于
useradd
创建、usermod
修改和userdel
删除帐户。
参数
Parameter |
Comments |
---|---|
append boolean |
如果 如果 选择:
|
string added in Ansible 2.8 |
设置用户的权限。 与其他平台一起使用时不执行任何操作。 可以使用逗号分隔设置多个授权。 要删除所有授权,请使用 目前支持 Illumos/Solaris。 |
comment string |
可选地设置用户帐户的描述(又名GECOS)。 |
create_home aliases: createhome boolean |
除非设置为
选择:
|
expires float added in Ansible 1.9 |
epoch 中用户的到期时间,在不支持此功能的平台上将被忽略。 目前支持 GNU/Linux、FreeBSD 和 DragonFlyBSD。 从 Ansible 2.6 开始,您可以通过指定负值来删除到期时间。目前支持 GNU/Linux 和 FreeBSD。 |
force boolean |
这只会影响 行为与 相同,请查看您系统上的手册页以获取详细信息和支持。 与此一起使用时 选择:
|
generate_ssh_key boolean added in Ansible 0.9 |
是否为相关用户生成 SSH 密钥。 这不会覆盖现有的 SSH 密钥,除非与 选择:
|
group string |
可选地设置用户的主要组(采用组名)。 |
groups list / elements=string |
用户将被添加到的组列表。 默认情况下,该用户会从所有其他组中删除。配置 当设置为空字符串时 在 Ansible 2.3 之前,唯一允许的输入格式是逗号分隔的字符串。 |
boolean added in Ansible 2.6 |
仅限 macOS,可选择在登录窗口和系统首选项中隐藏用户。
选择:
|
home path |
(可选)设置用户的主目录。 |
local boolean added in Ansible 2.4 |
强制在实现它的平台上使用“本地”命令选项。 当您想要操纵本地用户时,这在使用集中身份验证的环境中很有用(换句话说,它使用而 这将 这就要求上面的命令以及 选择:
|
login_class string |
可选地设置用户的登录类别,这是大多数 BSD 操作系统的一个特性。 |
move_home boolean |
I如果设置为 选择:
|
name aliases: user string / required |
要创建、删除或修改的用户的名称。 |
non_unique boolean added in Ansible 1.1 |
可选地,当与 -u 选项一起使用时,此选项允许将用户 ID 更改为非唯一值。 选择:
|
password string |
如果提供,请将用户密码设置为提供的加密哈希 (Linux) 或纯文本密码 (macOS)。 Linux/Unix/POSIX:输入散列密码作为值。 有关生成密码哈希的各种方法的详细信息,请参阅常见问题解答条目。 要在 Linux 系统上使用锁定/禁用密码创建帐户,请将其设置为 要在 OpenBSD 上创建一个带有锁定/禁用密码的帐户,请将其设置为 OS X/macOS:输入明文密码作为值。请务必采取相关的安全预防措施。 |
password_expire_max integer added in ansible-core 2.11 |
密码更改之间的最大天数。 仅在 Linux 上受支持。 |
password_expire_min integer added in ansible-core 2.11 |
密码更改之间的最小天数。 仅在 Linux 上受支持。 |
password_lock boolean added in Ansible 2.6 |
锁定密码 ( 实现因平台而异。此选项并不总是意味着用户无法使用其他方法登录。 该选项不禁用用户,只锁定密码。 这必须设置 目前支持 Linux、FreeBSD、DragonFlyBSD、NetBSD、OpenBSD。 选择:
|
profile string added in Ansible 2.8 |
设置用户的配置文件。 与其他平台一起使用时不执行任何操作。 可以使用逗号分隔设置多个配置文件。 要删除所有配置文件,请使用 目前支持 Illumos/Solaris。 |
remove boolean |
这只会影响 行为与 相同,请查看手册页了解详细信息和支持。 选择:
|
role string added in Ansible 2.8 |
设置用户的角色。 与其他平台一起使用时不执行任何操作。 可以使用逗号分隔设置多个角色。 要删除所有角色,请使用 目前支持 Illumos/Solaris。 |
seuser string added in Ansible 2.1 |
可选择在启用 selinux 的系统上设置 seuser 类型 (user_u)。 |
shell string |
可选择设置用户的 shell。 在 macOS 上,在 Ansible 2.5 之前,非系统用户的默认 shell 是 |
skeleton string added in Ansible 2.0 |
可选地设置主骨架目录。 需要 |
ssh_key_bits integer added in Ansible 0.9 |
可选择指定要创建的 SSH 密钥的位数。 默认值取决于 ssh-keygen。 |
ssh_key_comment string added in Ansible 0.9 |
(可选)为 SSH 密钥定义注释。 默认:
|
ssh_key_file path added in Ansible 0.9 |
(可选)指定 SSH 密钥文件名。 如果这是相对文件名,那么它将相对于用户的主目录。 此参数默认为.ssh/id_rsa。 |
ssh_key_passphrase string added in Ansible 0.9 |
为 SSH 密钥设置密码。 如果未提供密码,则 SSH 密钥将默认为没有密码。 |
ssh_key_type string added in Ansible 0.9 |
(可选)指定要生成的 SSH 密钥的类型。 可用的 SSH 密钥类型将取决于目标主机上的实现。 默认:
|
state string |
该帐户是否应该存在,如果状态与声明的不同,则采取行动。 选择:
|
system boolean |
创建帐户时 现有用户无法更改此设置。 选择:
|
uid integer |
可选地设置用户的UID 。 |
umask string added in ansible-core 2.12 |
设置用户的 umask。 与其他平台一起使用时不执行任何操作。 目前支持 Linux。 Requires |
update_password string added in Ansible 1.3 |
选择:
|
示例
- name: Add the user 'johnd' with a specific uid and a primary group of 'admin'
ansible.builtin.user:
name: johnd
comment: John Doe
uid: 1040
group: admin
- name: Add the user 'james' with a bash shell, appending the group 'admins' and 'developers' to the user's groups
ansible.builtin.user:
name: james
shell: /bin/bash
groups: admins,developers
append: yes
- name: Remove the user 'johnd'
ansible.builtin.user:
name: johnd
state: absent
remove: yes
- name: Create a 2048-bit SSH key for user jsmith in ~jsmith/.ssh/id_rsa
ansible.builtin.user:
name: jsmith
generate_ssh_key: yes
ssh_key_bits: 2048
ssh_key_file: .ssh/id_rsa
- name: Added a consultant whose account you want to expire
ansible.builtin.user:
name: james18
shell: /bin/zsh
groups: developers
expires: 1422403387
- name: Starting at Ansible 2.6, modify user, remove expiry time
ansible.builtin.user:
name: james18
expires: -1
- name: Set maximum expiration date for password
ansible.builtin.user:
name: ram19
password_expire_max: 10
- name: Set minimum expiration date for password
ansible.builtin.user:
name: pushkar15
password_expire_min: 5
- name: Change shell to /sbin/nologin for specified users
ansible.builtin.user:
name: user1
shell: /sbin/nologin
参考文档
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/user_module.html#ansible-collections-ansible-builtin-user-module