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

发表于:2019-8-08 09:23  作者:Magesh Maruthamuthu   来源:Linux中国

字体: | 上一篇 | 下一篇 |我要投稿 | 推荐标签: Linux 操作系统

  目前市场上有许多开源监测工具可用于监控 Linux 系统的性能。当系统到达指定的阈值时,它将发送邮件提醒。
  它会监控 CPU 利用率、内存利用率、交换内存利用率、磁盘空间利用率等所有内容。但我不认为它们可以选择监控新用户创建活动,并发送提醒。
  如果没有,这并不重要,因为我们可以编写自己的 bash 脚本来实现这一点。
  我们过去写了许多有用的 shell 脚本。如果要查看它们,请点击以下链接。
  如何使用 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
  +------------------------------+

     上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理

【大佬说】测试员跳槽时,如何高效地准备面试?

评 论

论坛新帖

顶部 底部


建议使用IE 6.0以上浏览器,800×600以上分辨率,法律顾问:上海瀛东律师事务所 张楠律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2019, 沪ICP备05003035号
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪公网安备 31010102002173号

51Testing官方微信

51Testing官方微博

扫一扫 测试知识全知道