commit 427e5934c6b8782a11d2f71ed96714997ad55c3f Author: Jack-Benny Persson Date: Sat Dec 28 22:11:16 2013 +0100 Working on exercise 5 on lab 8 diff --git a/failed_logins.sh b/failed_logins.sh new file mode 100755 index 0000000..a2e2822 --- /dev/null +++ b/failed_logins.sh @@ -0,0 +1,46 @@ +#!/bin/bash + +# Jack-Benny Persson +# LX13 +# Exercise 5 on lab 8 (Write a script to check for failed logins) + +# Binaries +Sed="/bin/sed" +Awk="/usr/bin/awk" +Egrep="/bin/egrep" +Mail="/usr/bin/mail" +Printf="/usr/bin/printf" + +# Variables +Admin="jake" +Authlog="/var/log/auth.log" + +# Sanity checks +if [ ! -r $Authlog ]; then + echo "Can't read $Authlog" + exit 1 +fi + +for Bin in $Sed $Awk $Egrep $Mail $Printf; do + if [ ! -x $Bin ]; then + echo "Can't execute $Bin" + exit 1 + fi +done + +# Main + +# Print a nice header +$Printf "Date & time\t\tUser\t\tFrom host\n" +$Printf "-----------\t\t----\t\t---------\n" +# Search for 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) +cat /var/log/auth.log | sed -n '/Dec 28 20:40:41/{ += +p +}' | tail -n2 | sed -n '/^[0-9]/p' > /tmp/failed_login_last_line.tmp + +exit 0 diff --git a/failed_logins_flowchart.png b/failed_logins_flowchart.png new file mode 100644 index 0000000..79856c6 Binary files /dev/null and b/failed_logins_flowchart.png differ diff --git a/last.sed b/last.sed new file mode 100644 index 0000000..109f776 --- /dev/null +++ b/last.sed @@ -0,0 +1 @@ +/Dec 28 20:40:41/p