itmanagerro-bash_history

Puppet module for installing and configuring an extended Bash history


Keywords
puppet, bash, module, realtime, history, bash-history, extended, extra
License
Apache-2.0
Install
puppet module install itmanagerro-bash_history --version 1.0.6

Documentation

puppet-bash_history

Puppet module for installing and configuring an extended Bash history

Table of Contents

  1. Features
  2. Supported OS
  3. Configuration
  4. Parameters
  5. Commands

Features

Build Status Score Status Downloads Status Version Status Endorsement Status

Modules Count Release Count

  • Append and preserve Bash history in realtime
  • Directory Stack Builtins - directories history
  • Adding extra attributes
    • Client IP ($SSH_CLIENT - [192.168.0.1 65432 22])
    • Terminal ($TTY - [/dev/pty/01])
    • Username (SSH variable passed by SSH Keys)

Supported OS

I have tested the module on all these machines:

  • CentOS: 6.7 (Final)
  • Debian: 6.0.10 (Squeeze), 7.9 (Wheezy), 8.3 (Jessie)

It should work on any Redhat or Debian based operating systems.

If you need any other operating systems tested, please let me know.

I will use your requests for creating rspec for specific operating system.

Configuration

This module should require nothing more than minimal configuration.

If you need aditional features or if you have any issues, please contact me.

Minimal configuration

include bash_history

A more complex configuration

class { 'bash_history':
  hh_clientip => true,
  hh_terminal => true,
  hh_username => true,
}

Example (complex)

[2016-01-01 01:01:01] [/dev/pts/0] [192.168.0.1 65535 22] [Mihai] ~~~ /usr/src/puppet-bash_history ~~~ ps aux
[2016-01-01 01:01:03] [/dev/pts/1] [192.168.0.4 56578 22] [Angela] ~~~ /root ~~~ Logged in as user root     pts/1        2016-01-01 01:01 (angela-pc.localdomain)
[2016-01-01 01:02:21] [/dev/pts/2] [192.168.0.8 35535 22] [George] ~~~ /root ~~~ cd /var/www
[2016-01-01 01:03:31] [/dev/pts/2] [192.168.0.8 64535 22] [George] ~~~ /var/www ~~~ rm -fr index.html
[2016-01-01 01:04:41] [/dev/pts/3] [192.168.0.6 56435 22] [Robert] ~~~ /opt ~~~ mkdir solr-testing
[2016-01-01 01:05:51] [/dev/pts/6] [192.168.0.3 45645 22] [Gina] ~~~ /tmp ~~~ cd /var/log
[2016-01-01 01:05:57] [/dev/pts/1] [192.168.0.4 56578 22] [Angela] ~~~ /root ~~~ Logged out from user root     pts/1        2016-01-01 01:01 (angela-pc.localdomain)
[2016-01-01 01:06:01] [/dev/pts/6] [192.168.0.3 34564 22] [Gina] ~~~ /var/log ~~~ tail -f mail.info

Parameters

Parameter Description
hh_clientip Include $SSH_CLIENT to bash history (hh)
hh_terminal Include $(tty) to bash history (hh)
hh_username Include $REALUSER to bash history (hh)

hh_username require sshd_config "PermitUserEnvironment yes" and authorized_keys should include

environment="REALUSER=Mihai" ssh-rsa AAAAB2NzA3zaGFD4tdg4tSss[...]AD4fSArShnio3xB3cb2jeOsYQ== Mihai Cornateanu SSH KEY

Example (parameters)

hh_clientip

[2016-01-01 01:01:01] [192.168.0.1 65535 22] ~~~ /usr/src/puppet-bash_history ~~~ ps aux

hh_terminal

[2016-01-01 01:01:01] [/dev/pts/0] ~~~ /usr/src/puppet-bash_history ~~~ ps aux

hh_username

[2016-01-01 01:01:01] [Mihai] ~~~ /usr/src/puppet-bash_history ~~~ ps aux

Commands

Command Description
hh show full extended history
hh 10 show last 10 lines of extented history
hd show full directories stack
hd 10 show last 10 lines of directories stack

Copyright 2016 Mihai Cornateanu @ ITManager