首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在linux平台上监控“创建用户”操作?

如何在linux平台上监控“创建用户”操作?
EN

Stack Overflow用户
提问于 2014-08-14 12:20:32
回答 1查看 84关注 0票数 0

目前在linux平台上,

如果有人或某个应用程序创建了一个用户。

其他应用程序能立即收到这条消息吗?

如果是,应用程序可以使用哪种方式来了解用户是如何创建的?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2014-08-14 20:51:43

您可以使用类似于下面的脚本来连续检查/etc/passwd文件。你可以改变“睡眠”命令来确定延迟。如果您在后台运行此脚本,它将在添加或删除新用户时发送邮件。您可以通过更改代码将这些结果提供给所需的应用程序。

代码语言:javascript
复制
#!/bin/bash

unalias cp &>/dev/null

OLD=`wc -l "/etc/passwd" | awk '{print $1}'` && /bin/cp -f /etc/passwd /etc/passwd.old


while true ; do

sleep 1

NEW=`wc -l "/etc/passwd" | awk '{print $1}'` && MID=${NEW} && /bin/cp -f /etc/passwd /etc/passwd.copy

 if [[ ${NEW} -gt ${OLD} ]]

   then

   DIFF=`expr ${NEW} - ${OLD}`

   USERS=`tail -n ${DIFF} "/etc/passwd.copy" | awk -F: '{ print $1 }'`

   echo -e "New user(s):\n ${USERS} " | mail -s "New Users Created! at `date +%c`" admin@mail.com

 elif [[ ${NEW} -lt ${OLD} ]]

   then

   USERS=`diff -y /etc/passwd /etc/passwd.old | awk -F">" '{print $2}'| awk -F: '{print $1}' | grep -E -v "^$"`

   echo -e "User(s)removed:\n ${USERS[@]}" | mail -s "Users removed at `date +%c`" admin@mail.com

 fi

sleep 1

OLD=${MID} && /bin/cp -f /etc/passwd.copy /etc/passwd.old

done
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25300026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档