👤 Bash скрипт для отправки почты о создании новой учетной записи пользователя |

👤 Bash скрипт для отправки почты о создании новой учетной записи пользователя

Скрипты

В некоторых целях вам может потребоваться отслеживать детали создания новых пользователей в Linux.

Также вам может понадобиться отправить эти детали по почте.

Это может быть частью аудита, или команда безопасности может захотеть контролировать это для своих шкурных целей.

Мы можем сделать это другим способом, как мы уже описали в предыдущей статье.

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

Для Linux доступно множество инструментов мониторинга с открытым исходным кодом.

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

Итак, как мы можем этого достичь?

Мы можем написать наш собственный скрипт Bash для достижения этой цели.

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

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

Скрипты для Linux , автоматизация и безопасность

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

Он будет делать резервную копию файла «/etc/passwd» два раза в день (начало дня и конец дня), что позволит вам получить новые данные о создании пользователя на указанную дату.

# crontab -e

1 0 * * * cp /etc/passwd /opt/scripts/passwd-start-$(date +"%Y-%m-%d")
59 23 * * * cp /etc/passwd /opt/scripts/passwd-end-$(date +"%Y-%m-%d")

Он использует команду «difference» для обнаружения различий между файлами, и, если обнаружится какая-либо разница со вчерашней датой, скрипт отправит оповещение по электронной почте на электронный адрес с указанием новых данных пользователя.

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

Однако мы планируем запускать этот скрипт один раз в день.

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

Примечание. Мы использовали наш электронный идентификатор в скрипте лишь для демонстрации.

Поэтому мы просим вас использовать вместо этого свой электронный адрес.

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

#!/bin/bash
mv /opt/scripts/passwd-start-$(date --date='yesterday' '+%Y-%m-%d') /opt/scripts/passwd-start
mv /opt/scripts/passwd-end-$(date --date='yesterday' '+%Y-%m-%d') /opt/scripts/passwd-end
ucount=$(diff /opt/scripts/passwd-start /opt/scripts/passwd-end | grep ">" | cut -d":" -f6 | cut -d"/" -f3 | wc -l)
if [ $ucount -gt 0 ]
then
SUBJECT="ATTENTION: New User Account is created on server : `date --date='yesterday' '+%b %e'`"
MESSAGE="/tmp/new-user-logs.txt"
TO="itsecforu@mydickbigger.com"
echo  "Hostname: `hostname`" >> $MESSAGE
echo -e "\n" >> $MESSAGE
echo "The New User Details are below." >> $MESSAGE
echo "+------------------------------+" >> $MESSAGE
diff /opt/scripts/passwd-start /opt/scripts/passwd-end | grep ">" | cut -d":" -f6 | cut -d"/" -f3 >>  $MESSAGE
echo "+------------------------------+" >> $MESSAGE
mail -s "$SUBJECT" "$TO" < $MESSAGE
rm $MESSAGE
fi
Установите исполняемое разрешение на файл «new-user-detail.sh».
$ chmod +x /opt/scripts/new-user-detail.sh
Наконец добавьте cronjob, чтобы автоматизировать этот процесс.
Ежедневно в 7 утра.
# crontab -e

0 7 * * * /bin/bash /opt/scripts/new-user.sh
Примечание. Вы будете получать оповещения по электронной почте каждый день в 7 часов утра, в которых указана дата вчерашнего дня.
Вывод: вывод будет таким же, как и приведенный ниже.
# cat /tmp/new-user-logs.txt

Hostname: testLinux.itsecoforu.ru

The New User Details are below.
+------------------------------+
tsarev
+------------------------------+

  • Добавить в Словарь
    • Новый список слов для Русский -> Русский…
    • Создать новый список слов…
  • Копировать

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

  1. Tyurin

    v deve povesil uje?

    Ответить
    1. Да надо бы)

      Ответить
    2. cryptoparty автор

      а в деве то зачем?)

      Ответить