ditching ansible, using local script
This commit is contained in:
15
eval.sh
15
eval.sh
@@ -1,15 +0,0 @@
|
||||
#! /bin/bash
|
||||
set -e
|
||||
set -u
|
||||
|
||||
source /root/functions.sh
|
||||
|
||||
|
||||
addHeader "user_operateur" "pass_operateur" "sudo_config" "ssh_key_tom" "log_operateur" "logrotate"
|
||||
|
||||
userExists operateur
|
||||
userHasPassword operateur
|
||||
fileMustExist /etc/sudoers.d/operateur
|
||||
fileMustContain ~operateur/.ssh/authorized_keys tom@workine
|
||||
fileMustExist /var/log/operateur.log
|
||||
fileMustExist /etc/logrotate.d/operateur.log
|
||||
39
eval.yml
39
eval.yml
@@ -1,39 +0,0 @@
|
||||
---
|
||||
- hosts:
|
||||
- all
|
||||
user: epsi
|
||||
become: true
|
||||
gather_facts: false
|
||||
vars:
|
||||
result_file: "{{ '%Y-%m-%d' | strftime }}_tp.csv"
|
||||
script: eval.sh
|
||||
|
||||
# pre_tasks:
|
||||
# - name: insert header
|
||||
# lineinfile:
|
||||
# path: "{{ result_file }}"
|
||||
# line: "machine\tuser\tdir bin\tscript exists\tif\tmysqldump\texit\targ0\targ1\targ2\trc\tdate\texecOk\ttaille"
|
||||
# state: present
|
||||
# create: true
|
||||
# delegate_to: localhost
|
||||
|
||||
tasks:
|
||||
- name: copy script
|
||||
copy:
|
||||
src: "{{ item }}"
|
||||
dest: /root
|
||||
mode: 0700
|
||||
loop:
|
||||
- "{{ script }}"
|
||||
- "functions.sh"
|
||||
|
||||
- name: exec script
|
||||
command: /root/eval.sh
|
||||
register: result
|
||||
|
||||
- name: get result
|
||||
lineinfile:
|
||||
path: "{{ result_file }}"
|
||||
line: "{{ result.stdout }}"
|
||||
create: true
|
||||
delegate_to: localhost
|
||||
44
functions.sh
44
functions.sh
@@ -4,6 +4,14 @@ function e {
|
||||
echo -ne "${1}\t"
|
||||
}
|
||||
|
||||
# file mtime
|
||||
# arg1: file
|
||||
function fileMTime {
|
||||
if [ ! -f $1 ] ; then echo -ne "0\t" ; return 0 ; fi
|
||||
stat --printf "%y\t" $1
|
||||
}
|
||||
|
||||
|
||||
#ok if given program returns given code
|
||||
# arg1: program to run
|
||||
# arg2: expected return code (default 0)
|
||||
@@ -113,37 +121,39 @@ function fileMustNOTContain {
|
||||
echo -ne "1\t"
|
||||
fi
|
||||
}
|
||||
# argn: nth columne name
|
||||
|
||||
# Ok if given user exists
|
||||
# Arg1: user
|
||||
function userExists {
|
||||
if ( grep -iq $1 /etc/passwd ) ; then e 1 ; else e0 ; fi
|
||||
}
|
||||
|
||||
# Ok if given group exists
|
||||
# Arg1: group
|
||||
function groupExists {
|
||||
if ( grep -iq $1 /etc/group ) ; then e 1 ; else e0 ; fi
|
||||
}
|
||||
|
||||
# insert hostname at beginning of result line
|
||||
function addHeader {
|
||||
test -f /etc/motd && user="$(cat /etc/motd | sed 's/\n//')\t"
|
||||
echo -ne "\n\t\t"
|
||||
for i in $@ ; do echo -ne "$i\t" ; done
|
||||
echo -ne "\n"
|
||||
echo -ne "${user}$(hostname -s)\t"
|
||||
}
|
||||
|
||||
# Ok if given user exists
|
||||
# arg1: user to check
|
||||
function userExists {
|
||||
if ( grep -q $1 /etc/passwd ) ; then e 1 ; else e 0 ; fi
|
||||
}
|
||||
|
||||
# Ok if given use has a password
|
||||
# arg1: user to check
|
||||
function userHasPassword {
|
||||
if ( passwd --status $1 2>&1 | grep -q 'Password set' ) ; then e 1 ; else e 0 ; fi
|
||||
}
|
||||
# Ok if given package is installed
|
||||
# arg1: pkg to check
|
||||
function pkgInstalled {
|
||||
if ( rpm -qa| grep -qi $1 ) ; then echo -ne "1\t" ; else echo -ne "0\t" ; fi
|
||||
pkglist=/tmp/pkg.list
|
||||
test -f $pkglist || rpm -qa > $pkglist
|
||||
if ( grep -qi $1 $pkglist ) ; then echo -ne "1\t" ; else echo -ne "0\t" ; fi
|
||||
}
|
||||
|
||||
# Ok if given package is NOT installed
|
||||
# arg1: pkg to check
|
||||
function pkgNotInstalled {
|
||||
if ( rpm -qa |grep -qiE $1 ) ; then echo -ne "0\t" ; else echo -ne "1\t" ; fi
|
||||
pkglist=/tmp/pkg.list
|
||||
test -f $pkglist || rpm -qa > $pkglist
|
||||
if ( grep -qiE $1 $pkglist ) ; then echo -ne "0\t" ; else echo -ne "1\t" ; fi
|
||||
}
|
||||
|
||||
# ok if given process is running
|
||||
|
||||
14
localeval.sh
Normal file
14
localeval.sh
Normal file
@@ -0,0 +1,14 @@
|
||||
#! /bin/bash
|
||||
|
||||
source functions.sh
|
||||
# check that alias has been tried
|
||||
echo -ne "host\tname\t<+CHANGEME+>\n"
|
||||
for host in /srv/lxc/epsi/b1/* ; do
|
||||
root=${host}/rootfs
|
||||
host=$(basename $host)
|
||||
hostname=$(grep HOSTNAME ${root}/etc/sysconfig/network | cut -f2 -d=)
|
||||
test -f ${root}/etc/motd && user="$(cat ${root}/etc/motd | sed 's/\n//')\t"
|
||||
echo -ne "${hostname}\t${user}"
|
||||
<+CHANGEME+>
|
||||
echo
|
||||
done
|
||||
Reference in New Issue
Block a user