finalgene.users

Ansible 角色 users

描述

这个角色用于管理系统上的用户和用户组。

需求

使用此角色需要 ansible.posix 集合。

ansible-galaxy collection install ansible.posix

角色变量

变量 类型 默认值 备注
users 对象列表 [] 要创建/删除的用户列表(参考 users)。
users_authorized_keys_exclusive 布尔值 true 默认用户的授权密钥是否独占的设置。
users_authorized_keys_file 字符串 .ssh/authorized_keys 用户主目录中的 authorized_keys 文件路径。
users_create_homedirs 布尔值 true 为新用户创建主目录。
users_create_per_user_group 布尔值 true 如果设置为 true,为每个用户创建一个组并使其成为该用户的主组。
users_default_shell 字符串 /bin/bash 如果没有指定,则用户的默认 shell。
users_group 字符串 users 所有用户所属的默认组名。
只有在 users_create_per_user_group 设置为 false 时才需要。
users_groups 对象列表 [] 要创建/删除的用户组列表(参考 users_groups
users_home 字符串 /home 将包含所有用户主目录的目录。
users_home_chroot 布尔值 false 默认用户主目录 chroot 设置。
users_home_mode 字符串 0750 默认用户主目录权限。
users_kill_process 布尔值 false 如果用户正在使用,是否杀死用户进程。
users_kill_process_allowed_users 字符串列表 表示应当杀死其进程的用户名列表。
仅在 users_kill_processes 设置为 true 时使用。
users_kill_process_forbidden_users 字符串列表 [] 表示永远不应当杀死其进程的用户名列表。
root 始终被禁止!
仅在 users_kill_processes 设置为 true 时使用。
users_kill_process_timeout 整数 30 在强制杀死进程之前的等待时间。
仅在 users_kill_processes 设置为 true 时使用。
users_ssh_key_type 字符串 rsa 默认用户的 ssh 密钥类型。

users

变量 类型 默认值 备注
append 布尔值 false 如果设置为 true,将保留现有的组关系。
authorized_keys 字符串列表 ssh 授权公钥列表。
authorized_keys_exclusive 字符串列表 如果设置为 true,将保留现有的授权公钥。
comment 字符串 '' 存储为评论的用户常规名称。
expires 整数 用户的到期时间(以 epoch 形式)。
force 布尔值 false 仅影响 state=absent,在受支持的平台上强制删除用户及相关目录。
group 字符串 用户的主组名。
groups 字符串列表 用户所属的所有组的列表。
home 字符串 用户主目录的绝对路径。
home_chroot 布尔值 设置主目录的拥有者为 root 以允许用户主目录的 chroot 功能。
home_create 布尔值 创建用户的主目录。
home_files 对象列表 应在用户主目录内管理的文件列表。
home_mode 字符串 用户主目录的权限。
local 布尔值 false 强制在实现“local”命令可选项的平台上使用此命令。
move_home 布尔值 false 如果设置为 true,且与 home: 一起使用,则尝试将用户的旧主目录移动到指定目录,如果该目录不存在且旧主目录存在。
non_unique 布尔值 false 可选项,当与 -u 选项一起使用时,允许将用户 ID 更改为非唯一值。
password 字符串 ! 用户的密码哈希(应使用 mkpasswd 创建)。
password_expire_max 整数 密码更改之间的最大天数。
password_expire_min 整数 密码更改之间的最小天数。
password_lock 布尔值 锁定密码。
remove 布尔值 false 仅影响 state=absent,尝试删除与用户关联的目录。
seuser 字符串 在启用 selinux 的系统上可选设置 seuser 类型(user_u)。
shell 字符串 用户的登录 shell。
ssh_key_bits 整数 生成的 ssh 密钥大小。
ssh_key_comment 字符串 可选定义 SSH 密钥的注释。
ssh_key_file 字符串 可选指定 SSH 密钥文件名。
ssh_key_generate 布尔值 如果设置为 true,则生成 ssh 密钥对。
ssh_key_password 字符串 生成的 ssh 密钥的密码短语。
ssh_key_type 字符串 生成的 ssh 密钥类型(rsaed25519 等)。
ssh_keys 对象列表 为用户提供的私有 ssh 密钥列表(参考 ssh_keys)。
state 字符串 present present 将创建或更新用户。
absent将删除现有用户。
system 布尔值 用户是否为系统用户(true)或非系统用户(false)。
uid 整数 用户的 UID。如果未定义,则创建过程中将使用下一个可用的 UID。
update_password 布尔值 always 将在密码不同的情况下更新密码。
on_create 仅在为新创建的用户设置密码时生效。
username 字符串
必填
用户的登录名。

home_files

变量 类型 默认值 备注
content 字符串 管理文件的内容(仅在未定义 template 时使用)。
dir_mode 字符串 0750 目录权限(仅在需要创建目录时使用)。
file_mode 字符串 0640 文件权限。
path 字符串 文件路径,相对于用户主目录。
state 字符串 present present 将创建或更新文件。
absent 将删除现有文件。
template 字符串 该组是否为系统组(true)或非系统组(false)。

ssh_keys

变量 类型 默认值 备注
name 字符串
必填
密钥文件的名称。
key 字符串 SSH 私钥文件内容。
state 字符串 present present 将在用户主目录中存储密钥文件。
absent 将删除现有密钥文件。

users_groups

变量 类型 默认值 备注
gid 整数 组的 GID。如果未定义,则创建过程中将使用下一个可用的 GID。
local 布尔值 false 强制在实现“local”命令可选项的平台上使用此命令。
name 字符串
必填
组的名称。
state 字符串 present present 将创建或更新该组。
absent 将删除现有组。
system 布尔值 该组是否为系统组(true)或非系统组(false)。

示例 Playbook

users:
  - username: foo
    comment: Foo Barrington
    groups:
      - wheel
      - -systemd-journal
    uid: 1001
    home: /local/home/foo
    authorized_keys:
      - "ssh-rsa AAAAA.... foo@machine"
      - "ssh-rsa AAAAB.... foo2@machine"
  - username: bar
    uid: 1002
    state: absent
    remove: yes
    force: yes
users_groups:
  - name: developers
    gid: 10000
关于项目

user management

安装
ansible-galaxy install finalgene.users
许可证
Unknown
下载
2k
拥有者
Software Development