【问题标题】:chmod/chown always writing updates even if not requiredchmod/chown 即使不需要也总是写更新
【发布时间】:2021-03-12 15:47:23
【问题描述】:

每当我在某些 zfs 文件系统上执行“zfs diff”时,输出都会被“修改过的”用户文件弄得一团糟,这些文件通过在它们上运行 chmod 会“改变”(在 cron 中,以确保某些安全方面)。

问题:有没有一种简单的方法让我错过了在文件层次结构上强制 (POSIX) 权限和所有权而无需 chmod/chown 在权限已经如我所愿时触摸它们的方法?

【问题讨论】:

  • 我的意思是...您可以先检查所有权和权限,然后在必要时仅检查 chown/chmod。在高级语言中相当简单(python,或者现在酷孩子们正在使用的任何东西),在 shell 中可能有点像 PITA,但也许可以使用 stat 命令。
  • 当然,我总是可以修补 chmod/chown...但我很确定我不是第一个解决这个问题的人。 :)

标签: linux posix acl chmod chown


【解决方案1】:

除了 cron 的安全性 听起来是个坏主意之外,简单的答案是“”。 chmodchown 都没有一个标志来仅在您想要的状态不匹配时修改文件/目录

你有两个选择:

  • 为工具编写补丁
  • 按照上面 cmets 中 larsks 的建议编写一个包装器

不过,根据文件系统/目录结构的大小,这可能会显着增加 cron 作业的运行时间。

【讨论】:

    【解决方案2】:

    你可以做类似的事情

    find dir/ -type f -perm /0111 -exec chmod a-x {} +
    

    而不是无条件的chmod 来删除权限。 (这里所有的x 权限。)

    【讨论】:

    • 酷。正是我的想法:一些隐藏在一些手册页深处的(我)尚未发现的功能。 :)
    猜你喜欢
    • 2011-07-29
    • 2015-08-24
    • 1970-01-01
    • 2023-03-03
    • 2012-06-19
    • 2019-10-27
    • 2016-07-05
    • 1970-01-01
    • 2015-07-17
    相关资源
    最近更新 更多