首页 > 其他分享 >ansible 常用模块 user

ansible 常用模块 user

时间:2023-03-31 13:13:11浏览次数:69  
标签:added string Ansible 用户 ansible user 模块

模块说明

  • 管理用户帐户和用户属性。

  • 此模块用于useradd创建、usermod修改和userdel删除帐户。

参数

Parameter

Comments

append

 

boolean

如果true,将用户添加到 中指定的组groups

如果false,用户将只被添加到在指定的组中groups,将他们从所有其他组中删除。

选择:

  • false ← (default)

  • true

authorization

 

string

added in Ansible 2.8

设置用户的权限。

与其他平台一起使用时不执行任何操作。

可以使用逗号分隔设置多个授权。

要删除所有授权,请使用authorization=''

目前支持 Illumos/Solaris。

comment

 

string

可选地设置用户帐户的描述(又名GECOS)。

create_home

 

aliases: createhome

boolean

除非设置为false,否则在创建帐户时或主目录不存在时将为用户创建一个主目录。

createhome在 Ansible 2.5中从 更改为create_home

选择:

  • false

  • true ← (default)

expires

 

float

added in Ansible 1.9

epoch 中用户的到期时间,在不支持此功能的平台上将被忽略。

目前支持 GNU/Linux、FreeBSD 和 DragonFlyBSD。

从 Ansible 2.6 开始,您可以通过指定负值来删除到期时间。目前支持 GNU/Linux 和 FreeBSD。

force

 

boolean

这只会影响state=absent,它会强制删除受支持平台上的用户和关联目录。

行为与 相同,请查看您系统上的手册页以获取详细信息和支持。userdel --forceuserdel

与此一起使用时generate_ssh_key=yes会强制覆盖现有密钥。

选择:

  • false ← (default)

  • true

generate_ssh_key

 

boolean

added in Ansible 0.9

是否为相关用户生成 SSH 密钥。

这不会覆盖现有的 SSH 密钥,除非与force=yes.

选择:

  • false ← (default)

  • true

group

 

string

可选地设置用户的主要组(采用组名)。

groups

 

list / elements=string

用户将被添加到的组列表。

默认情况下,该用户会从所有其他组中删除。配置append修改这个。

当设置为空字符串时'',用户将从除主要组之外的所有组中删除。

在 Ansible 2.3 之前,唯一允许的输入格式是逗号分隔的字符串。

hidden

 

boolean

added in Ansible 2.6

仅限 macOS,可选择在登录窗口和系统首选项中隐藏用户。

true如果使用系统选项,则默认为。

选择:

  • false

  • true

home

 

path

(可选)设置用户的主目录。

local

 

boolean

added in Ansible 2.4

强制在实现它的平台上使用“本地”命令选项。

当您想要操纵本地用户时,这在使用集中身份验证的环境中很有用(换句话说,它使用而luseradd不是useradd)。

这将/etc/passwd在调用命令之前检查现有帐户。如果本地帐户数据库存在于 以外的其他位置/etc/passwd,则此设置将无法正常工作。

这就要求上面的命令以及/etc/passwd必须存在于目标主机上,否则会报致命错误。

选择:

  • false ← (default)

  • true

login_class

string

可选地设置用户的登录类别,这是大多数 BSD 操作系统的一个特性。

move_home

boolean

I如果设置为true与 一起使用时home: ,尝试将用户的旧主目录移动到指定目录(如果它不存在并且旧主目录存在)。

选择:

  • false ← (default)

  • true

name

aliases: user

string / required

要创建、删除或修改的用户的名称。

non_unique

boolean

added in Ansible 1.1

可选地,当与 -u 选项一起使用时,此选项允许将用户 ID 更改为非唯一值。

选择:

  • false ← (default)

  • true

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

锁定密码 ( usermod -Lusermod -Upw lock)。

实现因平台而异。此选项并不总是意味着用户无法使用其他方法登录。

该选项不禁用用户,只锁定密码。

这必须设置False为才能解锁当前锁定的密码。缺少此参数将不会解锁密码。

目前支持 Linux、FreeBSD、DragonFlyBSD、NetBSD、OpenBSD。

选择:

  • false

  • true

profile

 

string

added in Ansible 2.8

设置用户的配置文件。

与其他平台一起使用时不执行任何操作。

可以使用逗号分隔设置多个配置文件。

要删除所有配置文件,请使用profile=''

目前支持 Illumos/Solaris。

remove

 

boolean

这只会影响state=absent,它会尝试删除与用户关联的目录。

行为与 相同,请查看手册页了解详细信息和支持。userdel --remove

选择:

  • false ← (default)

  • true

role

 

string

added in Ansible 2.8

设置用户的角色。

与其他平台一起使用时不执行任何操作。

可以使用逗号分隔设置多个角色。

要删除所有角色,请使用role=''

目前支持 Illumos/Solaris。

seuser

string

added in Ansible 2.1

可选择在启用 selinux 的系统上设置 seuser 类型 (user_u)。

shell

string

 

可选择设置用户的 shell。

在 macOS 上,在 Ansible 2.5 之前,非系统用户的默认 shell 是/usr/bin/false. 从 Ansible 2.5 开始,macOS 上非系统用户的默认 shell 是/bin/bash.

skeleton

string

added in Ansible 2.0

可选地设置主骨架目录。

需要create_home选项!

ssh_key_bits

integer

added in Ansible 0.9

可选择指定要创建的 SSH 密钥的位数。

默认值取决于 ssh-keygen。

ssh_key_comment

string

added in Ansible 0.9

(可选)为 SSH 密钥定义注释。

默认: "ansible-generated on $HOSTNAME"

 

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 密钥类型将取决于目标主机上的实现。

默认: "rsa"

 

state

 

string

该帐户是否应该存在,如果状态与声明的不同,则采取行动。

选择:

  • "absent"

  • "present" ← (default)

system

 

boolean

创建帐户时state=present,将此设置为true使用户成为系统帐户。

现有用户无法更改此设置。

选择:

  • false ← (default)

  • true

uid

integer

可选地设置用户的UID 。

umask

 

string

added in ansible-core 2.12

设置用户的 umask。

与其他平台一起使用时不执行任何操作。

目前支持 Linux。

Requireslocal被省略或为 False。

update_password

 

string

added in Ansible 1.3

always如果密码不同,将更新密码。

on_create只会为新创建的用户设置密码。

选择:

  • "always" ← (default)

  • "on_create"

示例

- 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

参考文档

https://docs.ansible.com/ansible/latest/collections/ansible/builtin/user_module.html#ansible-collections-ansible-builtin-user-module

标签:added,string,Ansible,用户,ansible,user,模块
From: https://www.cnblogs.com/wangguishe/p/17275926.html

相关文章

  • ansible 常用模块 group
    参数参数选项/默认值描述gidinterger 要为组设置的可选GID。localbooleanfalse ←(默认)true强制在实现它的平台上使用“local”命令替代项。这在要操作本地组时使用集中式身份验证的环境中非常有用。(例如,它使用代替lgroupaddgroupadd)。namestr......
  • DC-DC直流线性可调升压模块高压稳压输出电源5v12v24v48v转0-300V0-500V/0-600V/0-1000
    GRB系列非隔离宽电压输入高电压稳压输出特点 效率高达75%以上 1*2英寸标准封装 单电压输出 可直接焊在PCB上 工作温度:-40℃~+75℃ 阻燃封装,满足UL94-V0要求 温度特性好 电压控制输出,输出电压随控制电压的变化线应用GRB系列模块电源是一种DC-DC升压变换器。该模块电......
  • Flask框架 之使用蓝图实现模块划分
     一、示例代码run.pyfromappimportcreate_appif__name__=='__main__':app=create_app()app.run(debug=True,port=5000)__init__.pyfromflaskimportFlaskfromapp.controllersimportconfig_blueprintdefcreate_app():app=Fla......
  • 内核模块管理命令
    内核模块lsmod、insmod、rmmod、modinfo、modprobe等命令https://blog.csdn.net/bandaoyu/article/details/128582615......
  • 衡量模块独立的定性标准是什么?用自己的话表达其含义。
    定性标准:衡量模块的独立性的标准是两个定性的度量标准:耦合性和内聚性。耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。含义:①耦合性也称块间联系,指软件系统结构中各模块间相互联系紧密......
  • 什么是模块化,为什么要模块化?
     所谓的模块化开发就是封装细节,提供使用接口,彼此之间互不影响,每个模块都是实现某一特定的功能。模块化开发的基础就是函数。模块化开发使代码耦合度降低,模块化的意义在于最大化的设计重用,以最少的模块、零部件,更快速的满足更多的个性化需求。  为什么要模块化。从程序开......
  • 37、K8S-安全机制-CA、User、Cluster
    1、证书信息1.1、简介我们知道,通过kubeadm在创建集群的时候,其中有一步就是:生成kubernetes控制组件的kubeconfig文件及相关的启动配置文件,通过各种conf文件,让不同的组件具备操作相关资源的权限。1.2、位置master1~]#ll/etc/kubernetes/pki/-rw-r--r--1rootroot131......
  • Ansible_Playbook-统一为目标主机创建research逻辑卷
    目录实验目标实验环境ansible配置文件清单主机文件脚本文件实验目标在自建环境中能够测试RHCE磁盘管理题目在部分主机上做特殊处理,使得自己练习环境与实际环境相似实......
  • 第135篇:npm模块全局安装后无法使用解决方案
    好家伙 npm模块全局安装后无法使用 估计是少配了环境变量1.使用命令:npmconfiggetprefix找到全局包的安装位置  2.随后我们右键"我的电脑"打开 "属......
  • 每日一模块-arrow
    多个个月前arrow.get(end_time_str,'YYYY-MM-DDHH:mm:ss').shift(months=-6).format('YYYY-MM-DDHH:mm:ss')获取几小时之前,几分钟前,几天前,几个月前,及几......