这篇文章上次修改于 423 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
Ansible 运维工具常用模块
user模块
概要
- 管理用户帐户和用户属性。
- 对于 Windows 目标,请改用ansible.windows.win_user模块
参数
append (boolean): 如果是true,则将用户添加到 中指定的组中groups。如果false,用户将仅被添加到 中指定的组中groups,并将其从所有其他组中删除。可选择值:false ←(默认) , true
authorization (string): 设置用户的权限。可以使用逗号分隔设置多个授权。要删除所有授权,请使用authorization=''.目前在 Illumos/Solaris 上受支持。与其他平台一起使用时不执行任何操作。
comment (string): (可选)设置用户帐户的描述(又名GECOS)。在 macOS 上,此选项默认为该name选项。
create_home (boolean):除非设置为false,否则在创建帐户时或主目录不存在时,将为用户创建一个主目录。在 Ansible 2.5 中更改createhome为create_home。选择: false , true ←(默认)
expires(float): 用户的过期时间(以纪元为单位),在不支持此功能的平台上将被忽略。目前受 GNU/Linux、FreeBSD 和 DragonFlyBSD 支持。从 Ansible 2.6 开始,您可以通过指定负值来删除到期时间。目前受 GNU/Linux 和 FreeBSD 支持
force (boolean): 这仅影响state=absent,它强制删除受支持平台上的用户和关联目录。行为与 相同,请检查您系统上的手册页以获取详细信息和支持。userdel --force userdel, 与此一起使用时,generate_ssh_key=yes会强制覆盖现有密钥。选择:false ←(默认)true
generate_ssh_key (boolean): 是否为相关用户生成 SSH 密钥。这不会覆盖现有的 SSH 密钥,除非与force=yes 。 选择:false ←(默认)true
group (string): (可选)设置用户的主要组(采用组名称)。 在 macOS 上,默认为'staff'
groups (list / elements=string): 用户也是其成员的补充组的列表。默认情况下,该用户将从所有其他组中删除。配置append以修改此内容。当设置为空字符串时'',用户将从除主要组之外的所有组中删除。在 Ansible 2.3 之前,唯一允许的输入格式是逗号分隔的字符串。
hidden (boolean) : 仅限 macOS,可以选择在登录窗口和系统首选项中隐藏用户。如果使用true该选项,则为默认值。system。 选择:false , true
home (path): (可选)设置用户的主目录。
local (boolean): 强制在实现它的平台上使用“本地”命令替代方案。当您想要操纵本地用户时,这在使用集中式身份验证的环境中非常有用(换句话说,它使用而luseradd不是useradd)。这将/etc/passwd在调用命令之前检查现有帐户。如果本地帐户数据库存在于除 之外的其他位置/etc/passwd,则此设置将无法正常工作。这就要求目标主机上也/etc/passwd必须存在上述命令,否则会出现致命错误。选择:false ←(默认),true
login_class (string): 可以选择设置用户的登录类别,这是大多数 BSD 操作系统的一项功能。
move_home (boolean): 如果设置为true与 一起使用时home,则尝试将用户的旧主目录移动到指定目录(如果该目录尚不存在且旧主目录存在)。 选择:false ←(默认), true
name (aliases: user, string / 必传): 要创建、删除或修改的用户的名称。
non_unique (boolean): (可选)与 -u 选项一起使用时,此选项允许将用户 ID 更改为非唯一值。选择:false ←(默认),true
password (string): 如果提供,请将用户的密码设置为提供的加密哈希 (Linux) 或纯文本密码 (macOS)。Linux/Unix/POSIX:输入哈希密码作为值。有关生成密码哈希的各种方法的详细信息,请参阅常见问题解答条目。要在 Linux 系统上创建具有锁定/禁用密码的帐户,请将其设置为'!'或'*'。要在 OpenBSD 上创建具有锁定/禁用密码的帐户,请将其设置为'*************'。OS X/macOS:输入明文密码作为值。请务必采取相关的安全预防措施。password在 macOS 上,无论用户帐户是否已存在,都将始终设置选项中指定的密码。当密码作为参数传递时,对于 macOS 系统,user模块将始终返回更改为。true由于 macOS 不再提供对哈希密码的直接访问。
password_expire_max (integer): 密码更改之间的最大天数。仅在 Linux 上受支持。
password_expire_min (integer): 密码更改之间的最短天数。 仅在 Linux 上受支持。
password_expire_warn (integer): 密码过期前发出警告的天数。 仅在 Linux 上受支持。
password_lock (boolean): 锁定密码(、、)。usermod -Lusermod -Upw lock , 实施因平台而异。此选项并不总是意味着用户无法使用其他方法登录。该选项不会禁用用户,仅锁定密码。必须将其设置False为才能解锁当前锁定的密码。缺少此参数将不会解锁密码。目前支持 Linux、FreeBSD、DragonFlyBSD、NetBSD、OpenBSD。选择:false,true
profile (string): 设置用户的配置文件。可以使用逗号分隔设置多个配置文件。要删除所有配置文件,请使用profile=''。目前在 Illumos/Solaris 上受支持。与其他平台一起使用时不执行任何操作。
remove (boolean): 这只影响state=absent,它尝试删除与用户关联的目录。行为与 相同,请查看手册页以获取详细信息和支持。userdel --remove 选择:false ←(默认), true
role (string): 设置用户的角色。可以使用逗号分隔设置多个角色。要删除所有角色,请使用role=''。目前在 Illumos/Solaris 上受支持。与其他平台一起使用时不执行任何操作
seuser (string): (可选)在启用 selinux 的系统上设置 seuser 类型 (user_u)。
shell (string): 可以选择设置用户的 shell。在 macOS 上,Ansible 2.5 之前,非系统用户的默认 shell 是/usr/bin/false. 从 Ansible 2.5 开始,macOS 上非系统用户的默认 shell 是/bin/bash。有关其他操作系统如何通过底层工具确定默认 shell 的详细信息,请参阅注释。
skeleton (string): 可以选择设置主框架目录。 需要create_home选项!
ssh_key_bits (integer): (可选)指定要创建的 SSH 密钥的位数。默认值取决于 ssh-keygen。
ssh_key_comment (string): (可选)定义 SSH 密钥的注释。 默认: "ansible-generated on $HOSTNAME"
ssh_key_file (path): (可选)指定 SSH 密钥文件名。 如果这是相对文件名,那么它将相对于用户的主目录。 该参数默认为.ssh/id_rsa。
ssh_key_passphrase (string): 设置 SSH 密钥的密码。 如果未提供密码,则 SSH 密钥将默认为没有密码。
ssh_key_type (string): 可选)指定要生成的 SSH 密钥的类型。可用的 SSH 密钥类型将取决于目标主机上的实现。默认: "rsa"
state (string): 默认present,表示添加用户或需要用户存在;absent表示删除用户
system (boolean): 创建帐户时state=present,将其设置为true使用户成为系统帐户。无法对现有用户更改此设置。选择:false ←(默认), true
uid (integer): (可选)设置用户的UID 。
umask (string): 设置用户的 umask。目前在 Linux 上受支持。与其他平台一起使用时不执行任何操作。要求local被省略或False。
update_password (string): always如果密码不同,将更新密码。 on_create只会为新创建的用户设置密码。选择:"always" ←(默认), "on_create"
举例
- 创建用户并设置密码, 指定用户uid是10222
ansible k8snode -m user -a 'name=ansible uid=10222 password="$6$RWpFc4YT/jn5IQlt$uxkB39EC5O3Tx1eolDg6xlQEhpAGL2pIrgn6NjoFf3zr1kF.6DMMMdljRnLff.IZUbCBi/5bPzqgJvpIaOU.I/" '
没有评论
博主关闭了评论...