86 lines
3.1 KiB
Markdown
86 lines
3.1 KiB
Markdown
# 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.
|