🍨 Bash скрипт для отправки почты, когда в системе создается новая учетная запись пользователя |

🍨 Bash скрипт для отправки почты, когда в системе создается новая учетная запись пользователя

Скрипты

В настоящее время на рынке доступно множество инструментов для мониторинга с открытым исходным кодом, в том числе для мониторинга производительности систем Linux.

Они отправляют уведомление по электронной почте, когда система достигает указанного порогового значения.

Они контролируют все, например, использование ЦП, использование памяти, использование подкачки, использование дискового пространства и многое другое.

Но я не думаю, что у них есть возможность отслеживать новые действия по созданию пользователей и предупреждать о них.

Если нет, то это не имеет значения, так как мы можем написать собственный скрипт bash для достижения этой цели.

В прошлом мы добавили много полезных скриптов шелл.

Если вы хотите посмотреть их, перейдите по ссылках ниже:

Что делает скрипт?

Он отслеживает /var/log/secure и предупреждает администратора, когда в системе создается новая учетная запись.

Мы не можем часто запускать этот скрипт, поскольку создание пользователей происходит не очень часто.

Тем не менее, я планирую запускать этот скрипт один раз в день.

Таким образом, мы можем получить сводный отчет о создании пользователя.

Если в файле «/var/log/secure» для вчерашней даты была найдена строка useradd, скрипт отправит оповещение по электронной почте на указанный идентификатор электронной почты с информацией о новых пользователях.

Примечание. Вам необходимо изменить идентификатор электронной почты на свой собственный вместо нашего.

# vi /opt/scripts/new-user.sh

#!/bin/bash

#Set the variable which equal to zero
prev_count=0

count=$(grep -i "`date --date='yesterday' '+%b %e'`" /var/log/secure | egrep -wi 'useradd' | wc -l)

if [ "$prev_count" -lt "$count" ] ; then

# Send a mail to given email id when errors found in log

SUBJECT="ATTENTION: New User Account is created on server : `date --date='yesterday' '+%b %e'`"

# This is a temp file, which is created to store the email message.

MESSAGE="/tmp/new-user-logs.txt"

TO="admin@itsecforu.ru"

echo  "Hostname: `hostname`" >> $MESSAGE

echo -e "\n" >> $MESSAGE

echo "The New User Details are below." >> $MESSAGE

echo "+------------------------------+" >> $MESSAGE

grep -i "`date --date='yesterday' '+%b %e'`" /var/log/secure | egrep -wi 'useradd' | grep -v 'failed adding'| awk '{print $4,$8}' | uniq | sed 's/,/ /' >>  $MESSAGE

echo "+------------------------------+" >> $MESSAGE

rm $MESSAGE

mail -s "$SUBJECT" "$TO" < $MESSAGE

fi

Установите разрешение на выполнение для файла new-user.sh.

$ chmod +x /opt/scripts/new-user.sh

Наконец добавьте cronjob, чтобы автоматизировать все это.

Он будет работать каждый день в 7 часов.

# crontab -e

0 7 * * * /bin/bash /opt/scripts/new-user.sh
# cat /tmp/logs.txt

Hostname: itsec.server10.com

The New User Details are below.
+------------------------------+
itsec.server10.com name=user1
itsec.server10.com name=user2
+------------------------------+

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий