weareinteractive.sudo

weareinteractive.sudo 角色

构建状态 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
# 用户名或 %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

贡献

在没有正式风格指南的情况下,请注意保持现有代码风格。为任何新的或更改的功能添加单元测试和示例。

  1. Fork 代码
  2. 创建你的功能分支(git checkout -b my-new-feature
  3. 提交你的更改(git commit -am '添加一些功能'
  4. 推送到分支(git push origin my-new-feature
  5. 创建新的拉取请求

注意:要更新 README.md 文件,请安装并运行 ansible-role

$ gem install ansible-role
$ ansible-role docgen

许可证

版权 (c) We Are Interactive,根据 MIT 许可证。

关于项目

Installs and configures sudo

安装
ansible-galaxy install weareinteractive.sudo
许可证
mit
下载
300.4k