weareinteractive.sudo
Ansible weareinteractive.sudo ロール
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 'Add some feature'
) - ブランチにプッシュする(
git push origin my-new-feature
) - 新しいプルリクエストを作成する
注意: README.md
ファイルを更新するには ansible-role
をインストールして実行してください:
$ gem install ansible-role
$ ansible-role docgen
ライセンス
Copyright (c) We Are Interactive MITライセンスのもとに。