您如何解决公司文件共享的损坏或阻止的权限?


8

最近,我一直在与一个存储人员合作进行一个项目,该项目涉及对公司已使用多年的大文件共享进行一些审查。通常,由于以下一种或多种原因,我们会遇到我们无法访问的目录或文件(使用域管理员帐户):

  • 损坏的ACL
  • 管理员组(或SYSTEM用户)的访问权限已被撤消或拒绝
  • 文件名+路径太长(超出MAX_PATH

在Microsoft(例如TAKEOWN.EXE和ICALCS.EXE)或第三方(例如SETACL.EXE)中,有几种工具可以在这些情况下提供帮助。有时还需要其他技巧,例如使用PSEXEC.EXE在SYSTEM帐户下运行命令之一。即使只是弄清楚要执行的步骤和顺序也是一个挑战...

例如,我希望能够使用如下流程进行故障排除:

  1. 路径是否太长?如果是这样,请使用\\?\前缀构建路径,然后再次进行测试。
  2. ACL是否已损坏?如果是这样,请正确地对ACE重新排序并清除所有未知的内容,然后再次进行测试。
  3. 管理员组是否被拒绝访问?如果是这样,请取得所有权,重新添加Administrators组和SYSTEM帐户的权限,然后再次测试。
  4. 还是失败了吗?如果是这样,请删除所有ACE并仅应用继承的权限,然后再次检查。(这是不得已的做法,因为它经常会打开本来会更严格的权限。)
  5. 是目录吗?如果是这样,那么该过程需要递归地继续其中的文件...

手动执行上述步骤很麻烦,而且当我们要修复数百个目录时,这是不合理的。我尝试编写脚本来辅助这些操作,但是发现很难使脚本“聪明”地了解所做出的决定,因此,进行总修复方法(例如仅还原继承的权限)通常更容易。

谁能推荐在此过程中会有所帮助的其他软件和/或脚本?或者,您如何解决此类权限问题?

Answers:


2

我建议使用fileacl-它能够通过SeBackupPrivelege设置ACL,因此不需要您在其下运行命令的用户将具有更改给定对象的ACL的权限。此外,它本身支持NTFS-5后的继承功能,并且易于编写脚本,因此,通过一些包装脚本逻辑,它应该可以执行您想要的操作。


我正在为此添加书签...谢谢谢谢谢谢
SpacemanSpiff

@SpacemanSpiff,欢迎您。
the-wabbit 2011年

在比较了几乎所有我可以找到的Microsoft和第三方工具之后,fileacl.exe被证明是最好的。该/force选项确实有效,与其他选项不同(例如,使用psexec.exe在SYSTEM帐户下运行,或类似的use-backup-and / or-SYSTEM-permission选项)。我确实必须编写一个PowerShell脚本来挖掘文件系统并修复所有问题,但是它所需要的唯一外部工具真是太棒了。感谢您的提示,@ syneticon-dj!
ewall 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.