问题描述
每当我在某些 zfs 文件系统上执行“zfs diff”时,输出都会被“修改过的”用户文件弄得杂乱无章,这些文件通过对它们运行 chmod 来“更改”(在 cron 中,以确保某些安全方面)。
问题:当权限已经达到我想要的状态时,是否有一种简单的方法可以让我在文件层次结构上强制 (POSIX) 权限和所有权而无需 chmod/chown 接触它们?
解决方法
除了 cron 的安全性 听起来是个坏主意之外,简单的答案是“否”。 chmod
和 chown
都没有标记来仅在您想要的状态不匹配时修改文件/目录。
您有两个选择:
- 为工具编写补丁
- 写一个包装器,就像 larsks 在上面的评论中建议的那样
不过,这取决于文件系统/目录结构的大小,这可能会显着增加您的 cron 作业的运行时间。
,你可以做类似的事情
find dir/ -type f -perm /0111 -exec chmod a-x {} +
而不是无条件的 chmod
来删除权限。 (此处的所有 x
权限。)