javiergayala.users
javiergayala.users
这是一个专门用于在服务器上创建用户的角色。
角色变量
users_list
: 包含要添加用户的字典列表name
: 要创建的用户名groups
: 用逗号分隔的二级组列表。默认为空。ssh_key
: 包含用户公钥的文本字符串,将放置在/home/$USER/.ssh/authorized_keys
中sudoers
: 如果设置为yes
,用户将被添加到服务器的sudoers文件中。sudo_opts
: 包含用于sudoers文件的选项的字典。passwordless
: (布尔值)默认为"False
"。设置为"True
"允许sudo
命令不提示输入密码。hosts
: 默认为ALL
。用户可以在这些主机上运行sudo
。run_as
: 默认为(ALL)
。允许以这些用户身份运行sudo命令。commands
: 默认为ALL
。用户可以使用sudo
运行的命令。requiretty
: (布尔值)默认未设置。设置为False
以禁用使用sudo时对TTY的要求。
user_sshkey_exclusive
: 默认为no
。设置为yes
会告诉ansible管理authorized_keys
文件中的密钥,并移除未在play中定义的键。use_os_prompt
: 默认为no
。设置为yes
或True
将使此用户不使用专用的bash提示符。这对于服务账户很有用,比如jenkins
或rswebteam
的部署账户,或任何不使用TTY
的账户。
users_list:
- name: deployment
groups: apache
ssh_key: >
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGY
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
RdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
sudoers: "yes"
sudo_opts:
passwordless: "True"
hosts: "ALL"
run_as: "(ALL)"
commands: "ALL"
requiretty: "False"
use_os_prompt: "yes"
- name: user1
ssh_key: https://github.com/javiergayala.keys
sudoers: "no"
- name: user2
示例剧本
- hosts: servers
roles:
- { role: javiergayala.users, users_list: [{ name: user1 }] }
测试
您需要以下内容来测试和运行此角色:
强烈建议您使用虚拟环境来进行测试:
PYENV_HOME=$WORKSPACE/.pyenv/
# 删除之前构建的虚拟环境
if [ -d $PYENV_HOME ]; then
rm -rf $PYENV_HOME
fi
# 创建虚拟环境并安装必要的包
virtualenv --no-site-packages $PYENV_HOME
. $PYENV_HOME/bin/activate
pip install -r pip-requirements.txt
molecule test --all
许可证
BSD
作者信息
哈维尔·阿亚拉 [email protected]