自动为复制到目录中的任何文件分配权限

时间:2015-06-27 23:29:16

标签: linux chmod

我有一个目录,我希望添加到该目录的任何文件能够自动使用一组特定权限执行chmod。

有办法做到这一点吗?

3 个答案:

答案 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。

这个/当然可以安全地实施,但实际问题可能不需要这些。