Skip to content

Latest commit

 

History

History
140 lines (100 loc) · 2.49 KB

README.md

File metadata and controls

140 lines (100 loc) · 2.49 KB

sudoers

Table of Contents

  1. Overview
  2. Module Description
  3. Setup
  4. Usage
  5. Reference
  6. Limitations
  7. Development

Overview

Manage sudoers

Module Description

This module needs /etc/sudoers.d support, which is true for:

  • RedHat 6 and up
  • Ubuntu 10.04 and up.

Setup

What sudoers affects

  • Unless overwrite_sudoers is false, /etc/sudoers
  • Creates / deletes files on /etc/sudoers.d

Setup Requirements

This module requires pluginsync enabled

Beginning with sudoers

basic example:

class { 'sudoers': }

sudoers::sudo { 'vagrant':
  withoutpassword => true,
}

Usage

Add users with full sudo access:

sudos:
  adminuser:
    withoutpassword: true
  cpiscina: {}
  mlleidebrad: {}
  mtelevisio: {}

Restrict sudo to a specific command:

sudos:
  ppt-deploy:
    command: /etc/init.d/nginx
  ppt-deploy-service:
    username: bbt-deploy
    command: /usr/bin/service

sudoers::defaults:

sudoers::defaults { '!requiretty':
  username => 'nrpe',
}

Reference

classes

sudoers

  • overwrite_sudoers: (default: true)
  • visiblepw: (default: false)
  • requiretty: (default: false)
  • manage_package: (default: true)
  • package_ensure: (default: installed)
  • sudoersd_recurse: (default: true)
  • sudoersd_purge: (default: true)

defines

cmdalias

  • cmdname (default: resource's name)
  • order (default: 10)
  • command

useralias

  • useraliasname (default: resource's name)
  • order (default: 10)
  • users

sudo

  • username (default: resource's name)
  • order (default: 10)
  • from (default: ALL)
  • users (default: ALL)
  • command (default: ALL)
  • withoutpassword (default: false)

Limitations

Tested on:

  • CentOS 6
  • CentOS 7
  • Ubuntu 14.04

Development

We are pushing to have acceptance testing in place, so any new feature should have some test to check both presence and absence of any feature

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request