diff --git a/eval.sh b/eval.sh deleted file mode 100644 index 0949312..0000000 --- a/eval.sh +++ /dev/null @@ -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 diff --git a/eval.yml b/eval.yml deleted file mode 100644 index b25bd3e..0000000 --- a/eval.yml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/functions.sh b/functions.sh index 0ab7c6b..45a163c 100644 --- a/functions.sh +++ b/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 diff --git a/localeval.sh b/localeval.sh new file mode 100644 index 0000000..7caa3ab --- /dev/null +++ b/localeval.sh @@ -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 \ No newline at end of file