route1337.linux_users
Ansible 角色 - Linux 用户
这个仓库包含了 Linux 用户 (linux_users) 的 Ansible 角色。
这个角色的作用
这个 Ansible 角色将创建、更新和删除 Linux 用户以及他们的 SSH 密钥,使用清单进行管理。
执行的更改:
- 为用户创建管理组
- 创建一个
sysadmins
组,供无密码的 sudo 用户使用 - 创建一个
sysusers
组,供非 sudo 用户使用 - 创建一个
svcaccounts
组,供服务账户的无密码 sudo 使用
- 创建一个
- 管理 root 用户
- 管理 root 的密码和 SSH 密钥
- 管理非 root 用户
- 创建、更新、删除用户账户
- 创建、更新、删除用户主目录
- 管理用户 SSH 密钥
- 管理用户的组成员资格(预计使用上述一个组)
注意事项
使用此角色时需注意以下几点:
- root 的密码应预先加密
- 由于使用
exclusive: yes
,使用多个 SSH 密钥可以通过两种方式完成:- 一个包含换行符的单字符串
- 指向 GitHub 密钥的 URL
- 所有非 root 用户将不会设置密码,sudo 将无密码使用,他们不应有本地登录权限
- 在
/home/
下而未在linux_users.users
中定义的用户将被删除- 这并不是管理未批准用户的最佳方式,未来将进行改进
变量
以下变量是必需的:
linux_users.root_password
- root 的预加密密码
以下变量是可选的:
linux_users.root_key
- root 使用的 SSH 密钥。如果未定义,则会删除 root 的 authorized_keys 文件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
以下变量仅应在测试中使用:
is_kitchen
- 如果定义了此变量,tests/roles
中的角色将创建示例用户以用于测试未批准用户的删除。此外,user_cleanup.yml
剧本将免除vagrant
用户的删除
测试
此角色通过测试厨房和示例清单数据进行全面测试。
TESTING.md 包含详细信息和测试说明。
支持此 Ansible 角色的捐赠
Route 1337 LLC 的开源代码高度依赖捐赠。如果您觉得此 Ansible 角色有用,请考虑使用 GitHub 赞助商按钮来表示您的持续支持。
感谢您的支持!