AsavarTzeth.users

构建状态

Ansible 用户角色 - ansible-role-users

Ansible 角色用于管理用户、组、SSH 授权密钥和sudo。

此角色的配置格式深受 cloud-init/cloud config 的启发。目标是在可能的情况下使用相同或相似的 YAML 结构,但在必要时进行扩展。

一些值得注意的小区别:

  • 任何连字符(-)都需替换为下划线(_),这是因为 Ansible 对变量名的解释方式。

有关 cloud-init 的更多信息,请查看 cloud-init 文档:
https://cloudinit.readthedocs.io/en/latest/index.html

要求

此角色在 Ansible 2.2.0 及更高版本上开发和测试。可能在较低版本上工作,但当前不受支持。

角色变量

变量列表及默认值:

# 用户创建时使用的默认用户 shell。
users_default_shell: /bin/bash

# 如果主组不存在,角色是否应创建一个。
# 为了防止角色失败,默认设置为 true。
# 如果在其他地方管理组,请禁用此选项。
users_create_primary_group: true

# 启用使用 sudo 的权限提升管理。
# 如果不使用 sudo 或在其他地方管理,请禁用此选项。
users_enable_sudo: true

# 唯一的必填参数是名称。
users:
  - name: ''                           # 用户名。
    gecos: ''                          # 评论字段,也用于用户的真实姓名。
    homedir: ''                        # 用户的主目录。
    primary_group: ''                  # 主用户组。
    groups: []                         # 用户的补充组列表。
    no_create_home: false              # 如果为 true,则不创建主目录。如果 `system: true`,则默认为 true。
    shell: "{{ users_default_shell }}" # 默认用户 shell。
    passwd: ''                         # 一个经 SHA512 哈希和加盐的密码。
    ssh_authorized_keys: []            # 要添加到 authorized_keys 文件中的 SSH 公钥列表。
    sudo: ''                           # 将用于配置 sudo 的 sudo 字符串。
    system: false                      # 如果为 true,用户将是系统用户。不会影响现有用户。

依赖

示例剧本

添加或修改用户并设置 sudo 和 SSH 授权密钥:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users_default_shell: /bin/bash
      users_create_primary_group: true
      users_enable_sudo: true
      users:
        - name: foobar1
          gecos: Foo B. Bar
          primary_group: foobar1
          groups: ['users','wheel']
          shell: /bin/bash
          ssh_authorized_keys:
            - "ssh-rsa AAAAA.... foo@host"
            - "ssh-rsa AAAAB.... bar@host"
          sudo: ALL=(ALL) ALL

添加或修改系统用户:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users:
        - name: foobar2
          gecos: FooBar 服务账户
          homedir: /
          primary_group: foobar
          shell: /sbin/nologin
          system: true

删除用户:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users_deleted:
        - name: foobar1
        - name: foobar2

修改用户密码:

- hosts: all
  roles:
    - role: AsavarTzeth.users
      users:
        - name: foobar1
          passwd: $6$mI3A2y4O.YfqhlPt$szsWfnICXsYLbsIghLauJG.I3enLYGDPBYO1DYTHn9gB6y3Q2faM7iqievJlU5ZMTT9X3wHrUv0c7HWkToGBp/

许可证

BSD-2-Clause

作者信息

Patrik Nilsson

安装
ansible-galaxy install AsavarTzeth.users
许可证
bsd-2-clause
下载
501
拥有者