在系统创建新用户时发送邮件的Bash脚本

系统 Linux
目前市场上有许多开源监测工具可用于监控 Linux 系统的性能。当系统到达指定的阈值时,它将发送邮件提醒。我们可以编写自己的 bash 脚本来实现这一点。

[[273010]]

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

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

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

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

这个脚本做了什么?它监测 /var/log/secure 文件,并在系统创建新帐户时提醒管理员。

我们不会经常运行此脚本,因为创建用户不经常发生。但是,我打算一天运行一次这个脚本。因此,我们可以获得有关用户创建的综合报告。

如果在昨天的 /var/log/secure 中找到了 “useradd” 字符串,那么该脚本将向指定的邮箱发送邮件提醒,其中包含了新用户的详细信息。

注意:你需要更改邮箱而不是使用我们的邮箱。

  1. # vi /opt/scripts/new-user.sh
  1. #!/bin/bash
  2.  
  3. #Set the variable which equal to zero
  4. prev_count=0
  5. count=$(grep -i "`date --date='yesterday' '+%b %e'`" /var/log/secure | egrep -wi 'useradd' | wc -l)
  6.  
  7. if [ "$prev_count" -lt "$count" ] ; then
  8. # Send a mail to given email id when errors found in log
  9. SUBJECT="ATTENTION: New User Account is created on server : `date --date='yesterday' '+%b %e'`"
  10. # This is a temp file, which is created to store the email message.
  11. MESSAGE="/tmp/new-user-logs.txt"
  12. TO="2daygeek@gmail.com"
  13. echo "Hostname: `hostname`" >> $MESSAGE
  14. echo -e "\n" >> $MESSAGE
  15. echo "The New User Details are below." >> $MESSAGE
  16. echo "+------------------------------+" >> $MESSAGE
  17. 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
  18. echo "+------------------------------+" >> $MESSAGE
  19. mail -s "$SUBJECT" "$TO" < $MESSAGE
  20. rm $MESSAGE
  21. fi

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

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

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

  1. # crontab -e
  2.  
  3. 0 7 * * * /bin/bash /opt/scripts/new-user.sh

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

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

  1. # cat /tmp/logs.txt
  2.  
  3. Hostname: 2g.server10.com
  4.  
  5. The New User Details are below.
  6. +------------------------------+
  7. 2g.server10.com name=magesh
  8. 2g.server10.com name=daygeek
  9. +------------------------------+

 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2019-09-20 13:48:23

BashLinux命令

2022-11-03 11:19:22

2018-07-06 16:03:11

Windows 10Windows添加新用户

2020-01-14 20:00:29

BashLinux电子邮件

2012-04-17 14:25:05

Chrome OSAura 体验

2010-10-12 17:08:16

MySQL命令行

2014-12-30 15:33:22

Gmail邮箱

2017-09-05 14:27:11

新用户推荐利器

2015-07-30 17:30:43

Linux命令

2021-08-05 14:24:41

微信用户注册腾讯

2018-09-14 15:45:53

Windows10Windows新用户

2009-08-25 09:31:04

2017-04-26 09:00:23

Python发送邮件脚本

2014-04-09 14:21:44

Firefox OS用户界面

2010-05-20 13:11:04

MySQL GRANT

2018-03-20 16:20:29

LinuxChromiumLibreOffice

2016-09-01 11:08:20

Linux新用户发行版

2019-02-14 09:00:00

Linux发行版

2021-07-07 10:29:39

Windows 11操作系统微软

2023-12-29 22:41:12

同步架构业务
点赞
收藏

51CTO技术栈公众号