users-and-groups
Ansible Роль: Пользователи и Группы
Создает пользователей и группы для Debian/Ubuntu Linux.
Требования
Нет.
Переменные Роли
Доступные переменные приведены ниже, вместе с значениями по умолчанию (см. defaults/main.yml
).
Чтобы создать пользователя со всеми значениями по умолчанию, и основная группа которого совпадает с его именем:
server_users:
- name: "ash"
password: "imnotarobot"
Группы
Отдельной переменной для групп нет. Они являются частью переменной server_users
.
Чтобы указать имя основной группы и дополнительные группы:
server_users:
- name: "ash"
password: "imnotarobot"
group: "primarygroupname"
groups:
- "anothergroup"
- "more-groups-here"
SSH Ключи
По умолчанию, всем пользователям, созданным этой ролью, генерируется новый SSH-ключ:
server_users_ssh_key_generate: yes
server_users_ssh_key_bits: "4096"
Вы также можете переопределить это для каждого пользователя:
server_users:
- name: "ash"
password: "imnotarobot"
ssh_key_generate: yes
ssh_key_bits: "4096"
Авторизованные SSH ключи
Иногда вы хотите установить авторизованные ключи, чтобы пользователи могли входить, используя публичные ключи вместо паролей. Чтобы установить это для всех пользователей:
server_users_auth_keys: "{{ contents_of_ssh_authorized_keys }}"
Где содержимое переменной такое же, как в файлах ~/.ssh/authorized_keys
.
Вы также можете переопределить это для каждого пользователя:
server_users:
- name: "ash"
password: "imnotarobot"
auth_keys: "{{ contents_of_ssh_authorized_keys }}"
Shell по умолчанию
Shell по умолчанию — это bash. Вы можете переопределить это для всех пользователей:
server_users_shell: "/bin/bash"
Также можно указать shell для конкретного пользователя. Это переопределяет значение по умолчанию:
server_users:
- name: "ash"
password: "imnotarobot"
shell: "/bin/zsh"
По умолчанию роль не регистрирует действия задач по соображениям безопасности. Чтобы включить ведение журнала:
server_users_no_log: true
Настройки Ansible
Эта роль также распределяет файл .ansible.cfg
в домашнюю директорию каждого пользователя.
Это позволяет вам переопределить настройки role_path и no_cows по умолчанию:
server_users_ansible_role_path: "~/.ansible/roles"
server_users_ansible_nocows: 1
server_users_ansible_log: false
server_users_ansible_log_path: '~/ansible.log'
Снова, вы можете сделать это для каждого пользователя:
server_users:
- name: "ash"
password: "imnotarobot"
ansible_role_path: "/etc/ansible/roles"
ansible_nocows: 0
ansible_log: true
ansible_log_path: "/home/ash/logs/ansible.log"
Удаление пользователей
Вы также можете удалить пользователей, используя переменную state
:
server_users:
- name: "ash"
state: absent
Если вы хотите также удалить их домашнюю директорию, используйте remove
:
server_users:
- name: "ash"
state: absent
remove: yes
Зависимости
Нет.
Пример Плейбука
server_users:
- name: "ash"
password: "imnotarobot"
group: "wy"
groups:
- "scidiv"
- name: "kane"
password: "ihateeggs"
shell: "/bin/ksh"
ssh_key_generate: no
Лицензия
GPL 3.0.
Информация об Авторе
Эта роль была создана в 2017 году socketwench.
ansible-galaxy install socketwench/ansible-role-users-and-groups