# 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,…). ### 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)", } ``` Then, every connection from 10.10.10.1 or 192.168.0.42 will automatically have ZSH as default shell. ## 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'. * `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.