教你如何用 Bash 脚本发送新用户创建的邮件
发表于:2025-12-07 作者:千家信息网编辑
千家信息网最后更新 2025年12月07日,出于某些原因,你可能需要跟踪 Linux 上的新用户创建信息。同时,你可能需要通过邮件发送详细信息。这或许是审计目标的一部分,或者安全团队出于跟踪目的可能希望对此进行监控。我们可以通过其他方式进行此操
千家信息网最后更新 2025年12月07日教你如何用 Bash 脚本发送新用户创建的邮件
| 出于某些原因,你可能需要跟踪 Linux 上的新用户创建信息。同时,你可能需要通过邮件发送详细信息。这或许是审计目标的一部分,或者安全团队出于跟踪目的可能希望对此进行监控。 |
我们可以通过其他方式进行此操作,正如我们在上一篇文章中已经描述的那样。
在系统中创建新用户帐户时发送邮件的 Bash 脚本
Linux 有许多开源监具可以使用。但我不认为他们有办法跟踪新用户创建过程,并在发生时提醒管理员。
那么我们怎样才能做到这一点?
我们可以编写自己的 Bash 脚本来实现这一目标。我们过去写过许多有用的 shell 脚本。
这个脚本做了什么?
这将每天两次(一天的开始和结束)备份 /etc/passwd 文件,这将使你能够获取指定日期的新用户创建详细信息。
我们需要添加以下两个 cron 任务来复制 /etc/passwd 文件。
# crontab -e1 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")
它使用 diff 命令来检测文件之间的差异,如果发现与昨日有任何差异,脚本将向指定 email 发送新用户详细信息。
我们不用经常运行此脚本,因为用户创建不经常发生。但是,我们计划每天运行一次此脚本。
这样,你可以获得有关新用户创建的综合报告。
注意:我们在脚本中使用了我们的电子邮件地址进行演示。因此,我们要求你用自己的电子邮件地址。
# vi /opt/scripts/new-user-detail.sh#!/bin/bashmv /opt/scripts/passwd-start-$(date --date='yesterday' '+%Y-%m-%d') /opt/scripts/passwd-startmv /opt/scripts/passwd-end-$(date --date='yesterday' '+%Y-%m-%d') /opt/scripts/passwd-enducount=$(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="2daygeek@gil.m" 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 $MESSAGEfi
给 new-user-detail.sh 添加可执行权限。
$ chmod +x /opt/scripts/new-user-detail.sh
最后添加一个 cron 任务来动执行此作。它在每天早上 7 点运行。
# crontab -e0 7 * * * /bin/bash /opt/scripts/new-user.sh
注意:你会在每天早上 7 点都会收到一封关于昨日详情的邮件提醒。
输出:输出与下面的输出相同。
https://www.51cto.com/it/news/2019/1223/17728.html
# cat /tmp/new-user-logs.txtHostname: CentOS.2daygeek.comThe New User Details are below.+------------------------------+tuser3+------------------------------+
脚本
用户
邮件
信息
文件
跟踪
输出
运行
任务
地址
差异
电子
电子邮件
目标
相同
安全
不用
两个
之间
办法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发可以做什么生意
马鞍山服务器机箱价格
php程序上传服务器
平谷区口碑好的网络技术服务软件
北京凯际通网络技术有限公司
江苏进口软件服务器云主机
亳州金融软件开发
佛冈永讯网络技术有诈骗限公司
怎么能看出来服务器的厂商
软件开发学费2020
群晖服务器部署网站
消费互联网及科技
人类基因数据库名称
shell连接远程数据库
arm服务器芯片
如何停止aix数据库
常德市域名服务器地址
软件开发需要做哪些准备
ogg根据要求同步数据库
数据库软件访问失败
为了应对网络安全
apex服务器是ea服务器吗
邮箱服务器格式sos
一文看懂数据库的前世今生
怎么能看出来服务器的厂商
浙江企动盈网络技术有限公司
网络安全系统分析论文
网络技术卡盟
阿里云服务器网站管理教程
服务器分布式管理什么意思