如何查看文件夹访问权限何时改变?

如何查看文件夹访问权限何时改变?

如何查看文件夹访问权限何时改变?

该文件夹现在具有 777 权限,我想知道何时为其运行 chmod 命令。 可能吗?

我的操作系统是 Ubuntu。

谢谢。

答案1

您只能使用以下命令读取 i-node 的最后修改时间

stat DIRECTORY

您看不到发生了什么变化,但对于文件夹来说,大多数情况下它应该是匹配的。

如果你喜欢监控权限,可以使用 cron 任务来检查文件夹的权限。例如

export MYFOLDER=/my/path/to/folder; if [ $(stat -c "%a" $MYFOLDER) != "777" ]; then chmod 777 $MYFOLDER; echo $MYFOLDER permission changed > /var/log/myfolder.log ;fi

更新:如果你想了解更改的历史记录以及谁做了什么,请安装审计并开始服务。

为您的文件夹配置规则:

auditctl -w /tmp/test -p a -k tmp-watch-test

您可以看到

ausearch -k tmp-watch-test

或者

ausearch -w -f /tmp/test

应该为变化产生类似的东西

type=PATH msg=audit(1496747062.420:20649): item=0 name="/tmp/test" inode=453007 dev=fd:00 mode=040775 ouid=1000 ogid=1000 rdev=00:00 objtype=NORMAL
type=CWD msg=audit(1496747062.420:20649):  cwd="/home/myuser/workdir"
type=SYSCALL msg=audit(1496747062.420:20649): arch=c000003e syscall=268 success=yes exit=0 a0=ffffffffffffff9c a1=120c0f0 a2=1ed a3=7ffc37c58930 items=1 ppid=20482 pid=21369 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=2895 comm="chmod" exe="/usr/bin/chmod" key="tmp-watch-test"

答案2

如果您需要“实时”通知更改,您可以使用包inotifywait中的inotify-tools通知。在 bash 脚本中最基本的形式是:

inotifywait $thewatcheddirectory # will exit if something happens
echo "Something happened to $thewatcheddirectory"

实际上,inotifywait输出提示了发生了什么变化,您可以选择要检查哪些事件。

相关内容