ACL 监控和报告

ACL 监控和报告

我需要一个工具/脚本来报告给定路径当前定义的权限。

  • 如果子树的权限与其父树的权限相同,则应省略整个子树。
  • 仅当权限与其包含的目录不同时才应列出文件。
  • 输出应该是紧凑的(与 cacls/icacls 不同)并且是纯文本,以便我可以将其提交给 SVN。

有这样的事情存在吗?

答案1

听起来好像可能会实现你想要的功能。这不是 powershell 代码,但我确实喜欢 sysinternals 玩具。

答案2

设置实用程序将执行您想要的操作,并且还有一个额外的好处,那就是可以选择将文件中保存的 ACL“恢复”到实时文件系统。我使用 setacl 的方式与您描述的类似,包括将 ACL 作为脚本的一部分自动“恢复”以从版本控制中签出和部署应用程序。

可以说,setacl 的命令行语法令人困惑且难以理解。要将文件夹层次结构中的 ACL 保存到文件中,您需要执行以下操作:

SetACL.exe -on "\\server\share\source-folder" -ot file -actn list -lst "f:sddl;w:d,s,o,g" -rec cont -bckp "output-file.txt"

从其父对象继承所有 ACL 的对象(文件或文件夹)将不会在输出中列出(因此只会报告设置了 ACL 的对象)。

相关内容