在系统创建新用户时发送邮件的 Bash 脚本
创始人
2024-03-02 03:18:27
0

目前市场上有许多开源监测工具可用于监控 Linux 系统的性能。当系统到达指定的阈值时,它将发送邮件提醒。

它会监控 CPU 利用率、内存利用率、交换内存利用率、磁盘空间利用率等所有内容。但我不认为它们可以选择监控新用户创建活动,并发送提醒。

如果没有,这并不重要,因为我们可以编写自己的 bash 脚本来实现这一点。

我们过去写了许多有用的 shell 脚本。如果要查看它们,请点击以下链接。

这个脚本做了什么?它监测 /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="2daygeek@gmail.com"
  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
  mail -s "$SUBJECT" "$TO" < $MESSAGE
  rm $MESSAGE
fi

new-user.sh 添加可执行权限。

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

最后添加一个 cron 任务来自动化执行它。它会在每天 7 点运行。

# crontab -e

0 7 * * * /bin/bash /opt/scripts/new-user.sh

注意:你将在每天 7 点收到一封邮件提醒,但这是昨天的日志。

你将会看到类似下面的邮件提醒。

# cat /tmp/logs.txt

Hostname: 2g.server10.com

The New User Details are below.
+------------------------------+
2g.server10.com name=magesh
2g.server10.com name=daygeek
+------------------------------+

via: https://www.2daygeek.com/linux-bash-script-to-monitor-user-creation-send-email/

作者:Magesh Maruthamuthu 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

Genspark 发布 G...
用 Al-Native 的方式,打造一款新时代的 Office。 ...
2026-08-03 20:10:44
MiniMax开源H3,视...
长期封闭的视频模型赛道,出现了一个开源旗舰。 7月31日,Mini...
2026-08-03 19:59:29
把AI搬进Linux:媒体...
导语:最近有开发者基于Debian推出了Shadowfetch,一...
2026-08-02 19:14:38
为什么说只有百度网盘能定义...
文 | 佘宗明 “时间证实一切,因为它改变一切。”沈从文在散文《时...
2026-07-23 15:34:23
Xfce 桌面终极对决:F...
谁:两个自带 Xfce 桌面的发行版——Fedora Xfce 与...
2026-07-22 14:40:01
新型勒索木马ClickLo...
IT之家 7 月 20 日消息,安全公司 Group-IB 发文,...
2026-07-21 00:55:13

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...