cchurch.admin-users

构建状态 Galaxy

管理员用户

管理管理员用户、授权密钥和sudo访问权限。

从版本0.9.0开始,已不再支持Ansible版本 < 2.8。

要求

如果尚未安装,将会安装sudo包。Amazon Linux还要求在运行此角色之前先安装shadow-utils包。

角色变量

可以定义以下变量来自定义此角色:

  • admin_users: 要创建或更新的管理员用户列表;默认值是[]。此列表中的每个项应为包含以下键的哈希:

    • username: 管理员用户的用户名(必需)。
    • fullname: 管理员用户的全名(可选)。
    • shell: 此用户的默认shell;如果省略此键,将使用admin_users_default_shell
    • pubkey: 与给定用户关联的公钥。此值可以是包含用户公钥内容的字符串、包含密钥列表URL的字符串(例如https://github.com/username.keys)或包含多个公钥内容或URL的字符串列表。 在0.7.0中添加了对密钥列表的支持。
    • pubkey_options: 额外选项传递给authorized_key模块(可选)。
    • exclusive: 布尔值,指示是否删除所有其他公钥(可选)。
  • admin_user_groups: 布尔值,指示是否创建/删除;默认值为true

  • admin_users_sudo_nopasswd: 布尔值,指示是否为管理员用户启用带有NOPASSWD选项的sudo;默认值为true

  • admin_users_default_shell: 管理员用户的默认shell;默认值为"/bin/bash"

  • admin_users_to_remove: 要从远程系统中删除的用户名列表;默认值为[]。如果admin_user_groupstrue,则会删除带有这些用户名的组。

依赖关系

无。

示例任务书

以下任务书在开发和生产服务器上使用不同选项更新管理员用户:

- hosts: dev-servers
  vars:
    dev_admin_users:
      - username: joe
        fullname: "乔·开发"
        pubkey:
          - "ssh-rsa ..."
          - "ssh-dsa ..."
      - username: jim
        fullname: "吉姆·开发"
        shell: "/bin/sh"
        pubkey: "https://github.com/jim.keys"
        exclusive: true
  roles:
    - role: cchurch.admin-users
      admin_users: dev_admin_users
- hosts: prod-servers
  vars:
    prod_admin_users:
      - username: jon
        fullname: "乔恩·管理员"
        pubkey: "ssh-rsa ..."
  roles:
    - role: cchurch.admin-users
      admin_users: prod_admin_users
      admin_users_sudo_nopasswd: false

许可证

BSD

作者信息

Chris Church (cchurch)

关于项目

Manage admin users, authorized keys and sudo access.

安装
ansible-galaxy install cchurch.admin-users
许可证
other
下载
4k
拥有者
Python/Django/Ansible, will code for sweet tea and beer.