我很好奇是否有人建议仅记录指定移动源和目标的文件移动操作。
我相信 auditd 在这里具有一些功能,但我试图避免维护数据库来跟踪变化,因为我想要的 fs 相当大。
如果有一种方法可以在创建时将新文件添加到数据库而无需扫描 fs 并重建数据库,则 Auditd 可能是一个选项。
谢谢,M
答案1
inotify-tools 似乎可以解决这个问题,例如:
# recursively wait on directory for any events where files are moved to it
inotifywait -m -r -e moved_to /root/notify/test1 |
while read f; do # when an event occurs
LOC=`echo $f | awk '{print $1$3}'` # construct the new path to file
GRP=`stat -c "%G" $(echo $f | awk '{print $1}')` # query the parent folders group
chgrp -Rv "$GRP" "$LOC" &&
echo "success for grp change on $GRP for $LOC" # change group ownership of object to parent
done