geerlingguy.github-users
Ansible角色:GitHub用户
根据GitHub账户创建用户。
此角色将获取一个GitHub用户名,并创建一个与该用户名相同的系统账户,还会将与该GitHub账户关联的所有公钥添加到用户的authorized_keys
中。
这是一种简单的用户公钥管理方法,但它有效!
需求
无。
角色变量
可用变量如下所示,并附有默认值(见defaults/main.yml
):
github_users: []
# 你可以指定一个对象,包含'mame'(必需)和'groups'(可选):
# - name: geerlingguy
# groups: www-data,sudo
# 或者你可以直接指定GitHub用户名:
# - geerlingguy
要添加到服务器的用户列表;用户名将是name
(或者如果是字符串而不是对象,则是列表中的条目)。你可以通过在groups
中添加以逗号分隔的列表将用户添加到一个或多个组(除此之外的[username]
组)。
github_users_absent: []
# 你可以指定一个对象,包含'name'(必需):
# - name: geerlingguy
# 或者你可以直接指定GitHub用户名:
# - geerlingguy
一个不应出现在服务器上的用户列表。角色将确保这些用户账户被删除。
github_users_authorized_keys_exclusive: true
用户的authorized_keys
文件是否应仅包含来自其GitHub账户的密钥。如果你只允许用户使用其GitHub账户中的密钥登录,则通常应设置为true
。
github_url: https://github.com
默认情况下,使用公共GitHub(即https://github.com)作为用户/密钥的来源。可以覆盖此项,以使用其他GitHub实例/端点(例如GitHub企业版)。
如果你需要让用户能够自主管理其authorized_keys
文件,则应将其设置为no
,这样将只添加新密钥,而不会从文件中删除任何其他密钥(例如,用户从其GitHub配置文件中删除的旧密钥,或用户手动添加的密钥)。
依赖
无。
示例剧本
- hosts: servers
vars:
github_users:
# 你可以指定`name`:
- name: geerlingguy
groups: sudo,www-data
- name: GrahamCampbell
# 或者如果你不需要覆盖任何内容,你可以直接指定
# GitHub用户名:
- fabpot
github_users_absent:
- johndoe
- name: josh
roles:
- geerlingguy.github-users
如果你想确保用户的公钥保持同步,最好在cron中运行剧本,例如每5分钟、10分钟或者其他间隔。这样你就不必手动添加用户的新密钥。
许可证
MIT / BSD
作者信息
该角色由Jeff Geerling在2017年创建,他是《Ansible for DevOps》的作者,网址为https://www.ansiblefordevops.com/。
安装
ansible-galaxy install geerlingguy.github-users
许可证
mit
下载
385k
拥有者
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns