2015-06-27 63 views

回答

3

反应到文件系统事件(在Linux)可以使用inotify完成。

有许多工具建立在inotify上,它们允许您响应文件系统事件调用命令。一个这样的工具是incron。您可能会喜欢它,因为它可以以类似于熟悉的cron守护程序的方式进行配置。

移动到受监视目录中的文件会生成一个IN_MOVED_TO事件。

所以the incrontab file将包含类似

/path/to/watch IN_MOVED_TO chmod 0644 $# 
+0

谢谢,那肯定会诀窍。在我看来,应该有一个可以设置的文件系统标志,它允许目录自动强制对其中移动,复制或创建的任何子项的权限继承。我想我会建议作为一个功能请求Ext5;) – 1337ingDisorder

1

您可以创建一个检查/ chmods该目录中的文件的cron。

像这样将工作:

find /path/to/directory -type f -print0 | xargs -0 chmod 0644 

(当然你必须编辑路径,并设置所需的权限)

1

条目的问题是太不明确的,它是危险的给出任何答案,因为它是。

谁(/什么)在上述目录中创建文件?你想要设置什么样的权利?为什么你认为这是需要的?为什么不管创造它们,都不能把预期的权利放在自己身上?

例如,所有这些“find | chmod”或inotify观察者和其他评论中提到的工具都是一个巨大的安全漏洞,如果这是一个人人可以放置文件的目录,而且这样的chmoding命令将以root privs ,因为它可能被欺骗到一个符号链接和chmoding类似/ etc/shadow之类的东西中。

这个/可以/当然安全地实现,但机会是实际问题不需要任何这一点。

+0

感谢您的安全意识的角度。这是一个本地系统,我是唯一的用户(禁止入侵我的私人网络,虽然这个主机没有rootkit,所以没有SSHD运行,我认为入侵者需要获得对PC的物理访问才能利用inotify观察者,在这种情况下,我会比入侵者简单地利用观察者更大的问题。 – 1337ingDisorder