Linux 版本的setfacl
,而不是BSD 版本有一个非常方便的--test
选项:
--test
Test mode. Instead of changing the ACLs of any files, the resulting
ACLs are listed.
虽然我知道setfacl
它是幂等的,但在实际运行之前测试是否setfacl
必须运行是非常有用的(例如,在程序中很好地通知用户)。
是否有已知的方法可以使用 BSD 版本做类似的事情setfacl
?
一种方法是运行getfacl
,然后将输出与给定的参数进行比较,setfacl
但这似乎非常繁琐/混乱,因为有很多非排他性的情况:默认条目(-d
)、修改(-m
)或删除(-x
)条目、具有大写 xX
执行权限的条目,... 与简单的相比,绝对需要更多的黑客攻击和更容易出错的解决方案--test
。
如果没有其他可能(用 Python 编写脚本),我将不得不默认使用它,但我只是想确保我没有错过更简单或已经存在的解决方案。