added some more functions - user and group check, permissions check, countfiles, readfiles, count line in files, md5 file ...

This commit is contained in:
2022-04-13 08:23:33 +02:00
parent 0993562ca0
commit d4c6cd5eb8

View File

@@ -40,7 +40,7 @@ function fileMTime {
function fileNumLines {
if [ ! -f $1 ] ; then echo -ne "0;" ; return 0 ; fi
n=$(wc -l $1 | awk '{print $1}')
echo -ne $n;
echo -ne "$n;"
}
@@ -193,10 +193,17 @@ function addHeader {
echo -ne "${user}$(hostname -s);"
}
# get file content
# arg1: file to read
function getFileContent {
test -f $1 && content="$(cat $1 | sed 's/\n//');"
echo -ne "${content}"
}
# get file md5
# arg1: file to checksum
function md5 {
test -f "$1" && local am=$(md5sum "$1" | awk '{print $1}')
test -f "$2" && local am=$(md5sum "$1" | awk '{print $1}')
echo -ne "${am};"
}
@@ -230,10 +237,30 @@ function pkgNotInstalled {
echo -ne "${?};"
}
# WIP: dont work
# ok if given process is listening on given port
# arg1: chroot
# arg2: process to check
# arg3: port
function processIsListening {
chroot=$1
process=$2
port=$3
chroot $chroot bash -c "ss -taupen|grep -q \"LISTEN.*:${port}.*${process}\""
test $? -eq 0 && e 1 || e 0
}
# WIP: dont work
# ok if given process is running
# arg1: process to check
# arg1: chroot
# arg2: process to check
function processIsRunning {
if ( pgrep -f $1 &> /dev/null ) ; then echo -ne "1;" ; else echo -ne "0;" ; fi
chroot=$1
process=$2
chroot $chroot bash -c "ps -ef | grep -q $process"
test $? -ne 0 && e 1 || e 0
}
#Ok if given command returns 0
@@ -249,6 +276,49 @@ function commandIsWorking {
}
# get num of files in given dir
# arg1: dir
function numFilesInDir {
local dir=$1
test -d $dir || { e 0 ; return 0 ; }
local n=$(ls -l $dir | wc -l)
e $n
}
# check wether file mode is correct
# arg1: file
# arg2: mode
function modeIsCorrect {
file=$1
mode=$2
if [ ! -e $1 ] ; then e 0 ; return 0 ; fi
current_mode=$(stat --format "%a" $1)
if [ "$mode" = "$current_mode" ] ; then e 1 ; else e 0 ; fi
}
# check wether file owner is correct
# arg1: file
# arg2: owner
function ownerIsCorrect {
file=$1
owner=$2
if [ ! -e $1 ] ; then e 0 ; return 0 ; fi
current_owner=$(stat --format "%u" $1)
if [ "$owner" = "$current_owner" ] ; then e 1 ; else e 0 ; fi
}
# check wether file group is correct
# arg1: file
# arg2: group
function groupIsCorrect {
file=$1
group=$2
if [ ! -e $1 ] ; then e 0 ; return 0 ; fi
current_group=$(stat --format "%g" $1)
if [ "$group" = "$current_group" ] ; then e 1 ; else e 0 ; fi
}
# ok if given pattern is detected on command's stdout or stderr
# arg1: chroot
# arg2: command