我有一个目录,我希望添加到该目录的任何文件能够自动使用一组特定权限执行chmod。
有办法做到这一点吗?
答案 0 :(得分:3)
可以使用inotify来完成对文件系统事件(在linux中)的反应。
在inotify上构建了许多工具,允许您响应文件系统事件来调用命令。其中一个工具是incron
。您可能会喜欢它,因为它可以以类似于熟悉的cron
守护程序的方式进行配置。
移动到受监控目录的文件会生成IN_MOVED_TO
事件。
因此the incrontab file将包含类似
的条目/path/to/watch IN_MOVED_TO /bin/chmod 0644 $#
答案 1 :(得分:1)
您可以创建一个cron来检查/ chmods该目录中的文件。
这样的事情会起作用:
find /path/to/directory -type f -print0 | xargs -0 chmod 0644
(当然你必须编辑路径并设置你需要的权限)
答案 2 :(得分:1)
问题太未明确,任何答案都是危险的。
谁(/ what)在上述目录中创建文件?您想要设置哪些权利?为什么您认为这需要?为什么创造它们的原因不能单独设定预期的权利?
例如,所有这些“find | chmod”或inotify观察者以及其他评论中提到的其他工具都是一个巨大的安全漏洞,如果这是一个每个人都可以放置文件的目录,并且这样的chmoding命令将以root privs运行,因为它可以被欺骗到下面的符号链接和chmoding像/ etc / shadow。
这个/当然可以安全地实施,但实际问题可能不需要这些。