Forge Home

sudo

Installs and configures sudo.

325 downloads

146 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 0.1.1 (latest)
  • 0.1.0
released Mar 13th 2022
This version is compatible with:
  • Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 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
  • Puppet >= 6.0.0
  • Gentoo, CentOS, RedHat, Darwin, FreeBSD

Start using this module

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

Add this module to your Puppetfile:

mod 'chrekh-sudo', '0.1.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add chrekh-sudo
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install chrekh-sudo --version 0.1.1

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

chrekh/sudo — version 0.1.1 Mar 13th 2022

sudo

Puppet module for configuring sudo. Not yet ready for production!

Table of Contents

  1. Description
  2. Todo
  3. Usage - Configuration options and additional functionality
  4. Example - Hiera example of sudo configuration

Description

Installs and configures sudo.

This modules can configure most features described in sudoers(5), both in one main files, and in separate files located in a includedir (/etc/sudoers.d)

Todo

There still remains some work to do before this can be used in production environments. Use this only for testing it. I appreciate suggestions for improvements (preferably by pull requests)

Since the most important method for controlling this module is with the quite complex hash $sudo::conf the datastructure needs to be documented a lot more. For now it's mainly documented by example.

The datastructure for $sudo::conf might also need some redesigning.

Usage

class { 'sudo': }

The main feature is located in a single hash provided to sudo as parameter conf. This is possible to specify either as class-parameter or hieradata.

The keys in $sudo::conf is what file to write configurations to, the special key '_sudoers' is used for the main sudo configuration file $sudo::sudoers (normally '/etc/sudoers'), other keys specifies files to create under $sudo::includedir (normally /etc/sudoers.d)

The value for $sudo::conf[file] can be one of:

  • mode, the file permission mode for the file, default $sudo::defaultmode
  • defaults, defaults specifications as described by sudoers(5)
  • user_alias
  • runas_alias
  • host_alias
  • cmnd_alias
  • user_specs

Hiera example

sudo::conf:
  _sudoers:
    defaults:
      - Defaults:
          - insults

This will result in /etc/sudoers containing

## Managed by puppet class sudo
## Do not edit

# Override built-in defaults
Defaults insults

## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d

There is also a quite large example in HIERA_EXAMPLE.md based on the examples in sudoers(5), which will results in /etc/sudoers.d/example with content EXAMPLE.md