route1337.linux_users

Ansible 角色 - Linux 用户

这个仓库包含了 Linux 用户 (linux_users) 的 Ansible 角色。

这个角色的作用

这个 Ansible 角色将创建、更新和删除 Linux 用户以及他们的 SSH 密钥,使用清单进行管理。

执行的更改:

  1. 为用户创建管理组
    1. 创建一个 sysadmins 组,供无密码的 sudo 用户使用
    2. 创建一个 sysusers 组,供非 sudo 用户使用
    3. 创建一个 svcaccounts 组,供服务账户的无密码 sudo 使用
  2. 管理 root 用户
    1. 管理 root 的密码和 SSH 密钥
  3. 管理非 root 用户
    1. 创建、更新、删除用户账户
    2. 创建、更新、删除用户主目录
    3. 管理用户 SSH 密钥
    4. 管理用户的组成员资格(预计使用上述一个组)

注意事项

使用此角色时需注意以下几点:

  1. root 的密码应预先加密
  2. 由于使用 exclusive: yes,使用多个 SSH 密钥可以通过两种方式完成:
    1. 一个包含换行符的单字符串
    2. 指向 GitHub 密钥的 URL
  3. 所有非 root 用户将不会设置密码,sudo 将无密码使用,他们不应有本地登录权限
  4. /home/ 下而未在 linux_users.users 中定义的用户将被删除
    1. 这并不是管理未批准用户的最佳方式,未来将进行改进

变量

以下变量是必需的:

  1. linux_users.root_password - root 的预加密密码

以下变量是可选的:

  1. linux_users.root_key - root 使用的 SSH 密钥。如果未定义,则会删除 root 的 authorized_keys 文件
  2. linux_users.users - 用户对象,包含以下变量。如果未定义,则不管理用户
    users:
      - username: pgibbons
        key: "ssh-rsa BLAH BLAH BLAH"
        comment: Peter Gibbons
        group: sysadmins
      - username: mbolton
        key: https://github.com/notthatmichaelbolton.keys
        comment: Michael Bolton
        group: sysusers
      - username: svc-ghactions
        key: ssh-rsa BLAH BLAH BLAH\nssh-rsa BLEH BLEH BLEH"
        comment: ServiceAccount-GitHub Actions
        group: svcaccounts
    

以下变量仅应在测试中使用:

  1. is_kitchen - 如果定义了此变量,tests/roles 中的角色将创建示例用户以用于测试未批准用户的删除。此外,user_cleanup.yml 剧本将免除 vagrant 用户的删除

测试

此角色通过测试厨房和示例清单数据进行全面测试。
TESTING.md 包含详细信息和测试说明。

支持此 Ansible 角色的捐赠

Route 1337 LLC 的开源代码高度依赖捐赠。如果您觉得此 Ansible 角色有用,请考虑使用 GitHub 赞助商按钮来表示您的持续支持。

感谢您的支持!

关于项目

Extremely basic user account management for Ubuntu and CentOS servers

安装
ansible-galaxy install route1337.linux_users
许可证
mit
下载
183
拥有者
Modern InfoSec, Zero Trust, and DevOps consulting for Web2 and Web3 clients.