cellinfo
/
puppet-root
Archived
2
0
Fork 0
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.
puppet-root/README.md

86 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# root
#### Table of Contents
1. [Overview](#overview)
3. [Setup - The basics of getting started with root](#setup)
* [What root affects](#what-root-affects)
* [Beginning with root](#beginning-with-root)
4. [Usage - Configuration options and additional functionality](#usage)
* [Exec ZSH for some clients](#exec-zsh-for-some-clients)
5. [Reference - An under-the-hood peek at what the module is doing and how](#reference)
* [Classes](#classes)
* [Parameters](#parameters)
5. [Limitations - OS compatibility, etc.](#limitations)
## 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. Must be a absolut path, defaults to '/root/.profile'.
* `profile_content`: Template file used to generate the previous configuration file. Must be a string ending with **.erb**, defaults to 'root/preferences/profile.erb'.
* `bashrc_path`: Path to the Bash's rcfile. Must be a absolut path, defaults to '/root/.bashrc'.
* `bashrc_content`: Template file used to generate the previous configuration file. Must be a string ending with **.erb**, default to 'root/preferences/bashrc.erb'.
* `forward_path`: Path to the forward file. Must be a absolut path, defaults to '/root/.forward'.
* `forward_content`: Template file used to generate the previous configuration file. Must be a string ending with **.erb**, default to 'root/preferences/forward.erb'.
* `address_to_forward`: List of addresses that must receive root's mails. Must be a string, default to ''.
* `default_shell_path`: Path to a bin file to use as default shell for root. Must be a absolut path, 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.