x用户更改了linux服务器上的z文件时的警报

时间:2013-09-25 20:15:21

标签: shell

Alert when z file on linux server has been changed by x user.
#/bin/sh
old_time=`stat -c %z /var/spool/cron/root` 
  if [[ "$new_time" != "$old_time" ]]; 
    then 
      echo -e "Changes has been made in Cron file" | mail -s "Modification alert" abhinav.dixit@xyz.com 
    echo -e "$old_time" 
    echo -e "$new_time" 
  else 
    echo "no change" 
 fi 

实际上我想跟踪在z文件中进行任何更改的用户,其中n个用户访问z文件。我尝试使用上面的脚本至少在z文件被更改时获得警报。我不知道如何跟踪哪个用户更改了它。

1 个答案:

答案 0 :(得分:1)

inotify-tools附带的inotifywait实用程序可帮助您在不轮询的情况下捕获事件:

while inotifywait -e modify /var/spool/cron/root; do

done

<小时/> SO: inotify - how to find out which user has modified file?建议使用审计守护程序跟踪用户的文件修改。