weareinteractive.sudo
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
# 用户名或 %groupname 列表
sudo_users: []
# 用户名或 %groupname 及其默认值列表
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
贡献
在没有正式风格指南的情况下,请注意保持现有代码风格。为任何新的或更改的功能添加单元测试和示例。
- Fork 代码
- 创建你的功能分支(
git checkout -b my-new-feature
) - 提交你的更改(
git commit -am '添加一些功能'
) - 推送到分支(
git push origin my-new-feature
) - 创建新的拉取请求
注意:要更新 README.md
文件,请安装并运行 ansible-role
:
$ gem install ansible-role
$ ansible-role docgen
许可证
版权 (c) We Are Interactive,根据 MIT 许可证。