guidugli.user

Ansible角色:用户

这是一个Ansible角色,用于设置登录定义、用户政策,并执行与用户和组相关的安全检查。 目标系统:RHEL/CentOS、Fedora和Debian/Ubuntu。

要求

没有额外要求。

角色变量

以下是可用变量及其默认值(见defaults/main.yml):

user_skip_config: false

如果设为true,将跳过所有用户配置,仅进行用户和组的添加/删除。

user_new_password: "{{ vault_admin_password }}"

如果运行ansible的用户密码发生更改,则该变量需要包含新密码,以便更新ansible_become_pass和ansible_ssh_pass。建议将密码存储在其他文件中并使用vault加密。

user_configure_single_user: no

指示是否要配置单用户模式(需要设置root密码)。

user_max_days: 365

密码过期前的天数。

user_min_days: 7

用户更改密码前需等待的天数。

user_inactive_days: 30

在用户被认为是非活动状态之前的天数。

user_warn_age: 7

在密码过期前生成用户警告的天数。

user_umask: '027'

所有用户使用的UMASK。

user_shell_timeout: 900

shell超时时间(秒)。

user_fix_existing_accounts: yes

如果设为true/yes,将对用户和组执行安全检查。

root_password: ''

设置root密码。

user_account_add: []
  #- name: example
  #  comment: 这是一个示例
  #  uid: 1076
  #  groups: ['admin']
  #  shell: /bin/bash
  #  password: encpwd

添加/更改指定的账户。默认值为空列表。注释的行展示了如何指定条目的示例。除了一个新选项"linger"外,ansible.builtin.user的所有选项均可用,此选项用于启用/禁用用户的长期登录(有关用户的长期登录的更多信息,请查看loginctl命令)。如果未指定linger,则不更改长期登录。如果设为false,长期登录将被禁用。如果设为true,长期登录将被启用。 注意:由于需要systemd和dbus,长期登录在容器中无法工作。

user_account_remove: []
  #- acc_to_be_removed

要从系统中删除的用户名列表。

user_group_add: []
#  - name: admin
#    gid: 760

将指定的组添加到系统中。默认值为空列表。注释的行展示了如何指定条目的示例。每个用户条目唯一的必需参数是名称(组名)字段。

user_group_remove: []
#  - mygroup

从系统中删除指定的组。

user_alias: []
#  - user: example
#    alias: ll
#    command: ls -l --color=auto
#    state: present

指定要在用户的bashrc文件中创建/删除的别名。当状态为absent时,命令不是必需的。默认值为空列表。注释的行展示了如何指定条目的示例。

依赖关系

没有依赖关系。

示例剧本

- hosts: servers
  vars:
    user_max_days: 365
    user_min_days: 7
    user_inactive_days: 30
    user_warn_age: 7
    user_umask: '027'
    user_shell_timeout: 900
    user_fix_existing_accounts: yes
    root_password: mypass
    user_account_add:
      - name: example
        comment: 这是一个示例
        uid: 1076
        groups: ['admin']
        shell: /bin/bash
        password: encpwd
        linger: false
    user_account_remove:
      - removeme
    user_group_add:
      - name: admin
        gid: 760
    user_group_remove:
      - mygroup
    user_alias:
      - user: example
        alias: myls
        command: ls -l --color=auto
        state: present

  roles:
     - { role: guidugli.user }

许可证

MIT / BSD

作者信息

该角色由Carlos Guidugli于2020年创建。

关于项目

Add/Remove users; define and check security settings

安装
ansible-galaxy install guidugli.user
许可证
mit
下载
142
拥有者