sudo
Роль weareinteractive.sudo для Ansible
weareinteractive.sudo
— это роль для Ansible, которая:
- устанавливает sudo
- настраивает sudo
Примечание:
Поскольку Ansible Galaxy теперь поддерживает организации, эта роль была перемещена с
franklinkim.sudo
наweareinteractive.sudo
!
Установка
С помощью ansible-galaxy
:
$ ansible-galaxy install weareinteractive.sudo
С помощью requirements.yml
:
- src: weareinteractive.sudo
С помощью git
:
$ git clone https://github.com/weareinteractive/ansible-sudo.git weareinteractive.sudo
Зависимости
- Ansible >= 2.5
Переменные
Вот список всех значений по умолчанию для этой роли, которые также доступны в defaults/main.yml
.
---
# sudo_defaults:
# - defaults: env_reset
# - name: user1
# defaults: requiretty
# sudo_users:
# - name: '%group1'
# - name: 'bar'
# nopasswd: yes
# - name: '%group2'
# commands: '/bin/ls'
# - name: '%group3'
# commands:
# - /bin/ls
# - /bin/df
# - name: '%group4'
# hosts: 127.0.0.1
# имя пакета (версия)
sudo_package: sudo
# список имен пользователей или %имя группы
sudo_users: []
# список имен пользователей или %имя группы и их настройки
sudo_defaults: []
# файл sudoers по умолчанию
sudo_sudoers_file: ansible
# путь к директории sudoers.d
sudo_sudoers_d_path: /etc/sudoers.d
# удалить другие файлы в `sudo_sudoers_d_path`
purge_other_sudoers_files: no
Использование
Вот пример плейбука:
---
- hosts: all
become: yes
roles:
- weareinteractive.sudo
vars:
sudo_defaults:
- defaults: env_reset
- defaults: secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
- name: 'user1'
defaults: 'requiretty'
- name: '%group1'
defaults: '!requiretty'
sudo_users:
- name: 'user1'
- name: 'user2'
nopasswd: yes
- name: '%group1'
hosts: 127.0.0.1
- name: '%group2'
commands: '/bin/ls'
- name: '%group3'
commands:
- '/usr/bin/ls'
- '/usr/bin/df'
- '/usr/bin/mailq'
- name: '%group4'
users: 'user1,user2'
groups: 'group1,group2'
purge_other_sudoers_files: yes
Тестирование
$ git clone https://github.com/weareinteractive/ansible-sudo.git
$ cd ansible-sudo
$ make test
Участие
Вместо формального руководства по стилю, старайтесь поддерживать существующий стиль кода. Добавляйте юнит-тесты и примеры для любой новой или измененной функциональности.
- Сделайте форк
- Создайте свою ветку (
git checkout -b my-new-feature
) - Закоммитьте изменения (
git commit -am 'Добавить новую функциональность'
) - Отправьте в ветку (
git push origin my-new-feature
) - Создайте новый Pull Request
Примечание: Чтобы обновить файл README.md
, пожалуйста, установите и выполните ansible-role
:
$ gem install ansible-role
$ ansible-role docgen
Лицензия
Авторские права (c) We Are Interactive, лицензия MIT.
Установить
ansible-galaxy install weareinteractive/ansible-sudo
Лицензия
mit
Загрузки
269124
Владелец