1

我想从你那里得到一些关于如何实现它的想法。让我解释一下我的问题:

场景:我们有一个系统,它必须设置一些特定的 ACL 才能运行它。因此,在运行之前,如果我可以运行某种预检查以验证所有设置是否正确,那就太好了。

目标:创建一个脚本,在启动系统警报之前检查这些 ACL,以防其中一个错误基于文件/文件夹及其 ACL 列表。

问题:由于 getfacl 结果不是一个简单的返回,我发现进行这种检查的唯一方法是解析结果并分析它的每一部分,这并不像我想要的那样优雅。

我怀疑你们中的许多人必须做一些 ACL 检查,但可以肯定的是,你们可以为我的事业做出贡献:)

提前谢谢大家

4

2 回答 2

1

由于 getfacl 结果不是一个简单的返回,我发现进行这种检查的唯一方法是解析结果并分析它的每一部分,这并不像我想要的那样优雅。

你到底想做什么?如果您只是将调用结果与getfacl所需的 ACL 进行比较,那应该很容易。例如,假设您已将所需的 ACL 存储在名为 的文件中acl-i-want,您可以执行以下操作:

   getfacl /path > acl-i-have
   if ! diff -q acl-i-have acl-i-want; then
      echo "ACLs are different."
   fi
于 2013-03-18T20:19:06.717 回答
1

如何使用Python模块pylibacl

>>> import posix1e
>>> acl1 = posix1e.ACL(file="file1.txt")
>>> print acl1
user::rw-
group::r--
other::r--
于 2013-03-18T19:57:37.203 回答