users
javiergayala.users
Это роль, которая создает пользователей на серверах.
Переменные роли
users_list
: список, содержащий словари пользователей для добавленияname
: имя пользователя, которого нужно создатьgroups
: список вторичных групп, разделенных запятыми. По умолчанию отсутствуют.ssh_key
: текстовая строка, содержащая открытый ssh-ключ пользователя, который будет помещен в/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
, чтобы отключить требование TTY при использовании sudo.
user_sshkey_exclusive
: по умолчанию -no
. Установка вyes
заставляет ansible управлять ключами в файлеauthorized_keys
и удаляет любые, которые не определены в плейбуке.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
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]
ansible-galaxy install javiergayala/ansible-role-user