cchurch.admin-users
管理员用户
管理管理员用户、授权密钥和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_groups
为true
,则会删除带有这些用户名的组。
依赖关系
无。
示例任务书
以下任务书在开发和生产服务器上使用不同选项更新管理员用户:
- 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)