cellinfo
/
puppet-root
Archived
2
0
Fork 0
Puppet module to define root's preferences
This repository has been archived on 2020-11-04. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Jeremy Gardais 70693afe26 Add the possibility to forward root's mail. 2016-11-29 15:50:09 +01:00
manifests Add the possibility to forward root's mail. 2016-11-29 15:50:09 +01:00
templates/preferences Add the possibility to forward root's mail. 2016-11-29 15:50:09 +01:00
README.md Add the possibility to forward root's mail. 2016-11-29 15:50:09 +01:00

README.md

root

Table of Contents

  1. Overview
  2. Setup - The basics of getting started with root
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.

Overview

This "root" module simply define few preferences for the root user.

Setup

What root affects

  • Root's configuration files (/root/.profile, /root/.bashrc,…).
  • Root's mail can be forward to other addresses.

Beginning with root

To begin using root module with default parameter, declare the class with include root.

Usage

Exec ZSH for some clients

To autoload ZSH as "default" shell, you can pass a regex to the IP_ZSH argument. Then for every new connection, the .profile file will compare the $SSH_CLIENT variable environnment with this regex:

class { 'root':
  ip_zsh => "(10.10.10.1|192.168.0.42)",
}

Other default shell

Bash is the default shell use on Debian, if you prefer an advanced shell or didn't have Bash, you can define the DEFAULT_SHELL_PATH argument:

class { 'root':
  default_shell_path => '/bin/zsh',
}

Then, every connection from 10.10.10.1 or 192.168.0.42 will automatically have ZSH as default shell.

Forward mail

Root's mail can be forward to other addresses. You can specify thoses addresses with the ADDRESS_TO_FORWARD argument:

class { 'root':
  address_to_forward => 'username@domain.org,firstname.lastname@other-domain.org',
}

Reference

Classes

  • root: Main class, automatically load all needed privates classes.

Parameters

  • profile_path: Path to the .profile to load personal initialization. Defaults to '/root/.profile'.
  • profile_content: Template file used to generate the previous configuration file. Defaults to 'root/preferences/profile.erb'.
  • bashrc_path: Path to the Bash's rcfile. Defaults to '/root/.bashrc'.
  • bashrc_content: Template file used to generate the previous configuration file. Default to 'root/preferences/bashrc.erb'.
  • forward_path: Path to the forward file. Defaults to '/root/.forward'.
  • forward_content: Template file used to generate the previous configuration file. Default to 'root/preferences/forward.erb'.
  • address_to_forward: List of addresses that must receive root's mails. Default to ''.
  • default_shell_path: Path to a bin file to use as default shell for root. Defaults to '/bin/bash'.
  • ip_zsh: A regex to determine if a ssh client should have ZSH as default shell. Defaults to '127.0.0.1'.

Limitations

This module was only tested on Debian 7.x and 8.x but should work quite few Debian's fork.