Done some more work on exercise 5
This commit is contained in:
parent
53e833fd2b
commit
f5e2cdd397
@ -10,18 +10,27 @@ Awk="/usr/bin/awk"
|
|||||||
Egrep="/bin/egrep"
|
Egrep="/bin/egrep"
|
||||||
Mail="/usr/bin/mail"
|
Mail="/usr/bin/mail"
|
||||||
Printf="/usr/bin/printf"
|
Printf="/usr/bin/printf"
|
||||||
|
Cat="/bin/cat"
|
||||||
|
|
||||||
# Variables
|
# Variables
|
||||||
Admin="jake"
|
Admin="jake"
|
||||||
Authlog="/var/log/auth.log"
|
Authlog="/var/log/auth.log"
|
||||||
|
|
||||||
|
# Functions
|
||||||
|
show_failed_logins()
|
||||||
|
{
|
||||||
|
$Sed -n '1,$p' $Authlog | $Egrep "Failed password" | \
|
||||||
|
$Sed 's/invalid user//' | \
|
||||||
|
$Awk '{ print $1" "$2" "$3" \t"$9"\t\t"$11 }'
|
||||||
|
}
|
||||||
|
|
||||||
# Sanity checks
|
# Sanity checks
|
||||||
if [ ! -r $Authlog ]; then
|
if [ ! -r $Authlog ]; then
|
||||||
echo "Can't read $Authlog"
|
echo "Can't read $Authlog"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for Bin in $Sed $Awk $Egrep $Mail $Printf; do
|
for Bin in $Sed $Awk $Egrep $Mail $Printfi $Cat; do
|
||||||
if [ ! -x $Bin ]; then
|
if [ ! -x $Bin ]; then
|
||||||
echo "Can't execute $Bin"
|
echo "Can't execute $Bin"
|
||||||
exit 1
|
exit 1
|
||||||
@ -33,12 +42,13 @@ done
|
|||||||
# Print a nice header
|
# Print a nice header
|
||||||
$Printf "Date & time\t\tUser\t\tFrom host\n"
|
$Printf "Date & time\t\tUser\t\tFrom host\n"
|
||||||
$Printf "-----------\t\t----\t\t---------\n"
|
$Printf "-----------\t\t----\t\t---------\n"
|
||||||
# Search for failed logins
|
show_failed_logins
|
||||||
$Sed -n '1,$p' $Authlog | $Egrep "Failed password" | $Sed 's/invalid user//' | \
|
|
||||||
$Awk '{ print $1" "$2" "$3" \t"$9"\t\t"$11 }'
|
|
||||||
|
|
||||||
# Save the last line for next run (WORK IN PROGRESS)
|
# Save the last line and the last timestamp for next run (WORK IN PROGRESS)
|
||||||
cat /var/log/auth.log | sed -n '/Dec 28 20:40:41/{
|
show_failed_logins | $Awk '{ print $1" "$2" "$3 }' \
|
||||||
|
| $Sed -n '$p' > /tmp/failed_login_last_stamp.tmp
|
||||||
|
|
||||||
|
$Cat $Authlog | sed -n '/Dec 28 20:40:41/{
|
||||||
=
|
=
|
||||||
p
|
p
|
||||||
}' | tail -n2 | sed -n '/^[0-9]/p' > /tmp/failed_login_last_line.tmp
|
}' | tail -n2 | sed -n '/^[0-9]/p' > /tmp/failed_login_last_line.tmp
|
||||||
|
Loading…
x
Reference in New Issue
Block a user