sudo

Роль weareinteractive.sudo для Ansible

Статус сборки Galaxy GitHub Теги GitHub Звезды

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

Участие

Вместо формального руководства по стилю, старайтесь поддерживать существующий стиль кода. Добавляйте юнит-тесты и примеры для любой новой или измененной функциональности.

  1. Сделайте форк
  2. Создайте свою ветку (git checkout -b my-new-feature)
  3. Закоммитьте изменения (git commit -am 'Добавить новую функциональность')
  4. Отправьте в ветку (git push origin my-new-feature)
  5. Создайте новый Pull Request

Примечание: Чтобы обновить файл README.md, пожалуйста, установите и выполните ansible-role:

$ gem install ansible-role
$ ansible-role docgen

Лицензия

Авторские права (c) We Are Interactive, лицензия MIT.

О проекте

Installs and configures sudo

Установить
ansible-galaxy install weareinteractive/ansible-sudo
Лицензия
mit
Загрузки
269124
Владелец