Forge Home

sudoers

manages sudoers

jordi prats

eyp

15,936 downloads

2,584 latest version

5.0 quality score

Version information

  • 0.1.35 (latest)
  • 0.1.32
  • 0.1.28
  • 0.1.26
  • 0.1.25
  • 0.1.23
  • 0.1.21
  • 0.1.20
  • 0.1.19
  • 0.1.18
released Jun 21st 2020
This version is compatible with:
  • Puppet Enterprise 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 3.8.0
  • RedHat
    ,
    CentOS
    ,
    Scientific
    ,
    OEL
    ,
    OracleLinux
    ,
    Ubuntu
    ,
    Debian
    ,
    Raspbian
    ,
    SLES

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this declaration to your Puppetfile:

mod 'eyp-sudoers', '0.1.35'
Learn more about managing modules with a Puppetfile

Add this module to a Bolt project:

bolt module add eyp-sudoers
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install eyp-sudoers --version 0.1.35

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

eyp/sudoers — version 0.1.35 Jun 21st 2020

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