最近一个很好的问题来了个SANS GIAC顾问委员会。基本上,有人需要审计一组文件和目录(我称它们为对象)的NTFS权限。很简单吧?哦,我忘了提,“管理员”不得不对这些对象的任何权利和修改(如取得所有权),这些对象的权限是问题了。
起初,我画了一个空白。但是,那么它打我,备份操作有一个非常特殊的权利,让他们能够复制对象,他们没有权利。所以......我想一个能给予自己是正确的,然后复制使用类似的Robocopy工具,以便保留权限的文件夹管理员必须的权利对象。例如:
ROBOCOPY / Z / E / B / SEC / COPYALL / R:1 / W:5
从理论上讲,对象应继承父文件夹的权限授予因而审计的非继承权限的能力。那么,很显然,没有工作。所以,我做了一些搜索了一圈,发现了一个名为FILEACL工具。的特点之一,此实用程序是:“使用备份和还原权限,以便在不访问的文件/目录查看/修改ACL /所有权”。换句话说,使用这个工具,可以审核权限的对象,你没有权利。
要下载此工具,请使用以下网站:链接
也为你高兴,我写了下面的PSH脚本,它会给你一个自定义报表。仍然需要清理一下。但是,你应该能够从那里:
的 $起点跨度>的 跨度>的 = 跨度>的 跨度>的 “跨度>的 C:\审核跨度>的 “跨度>的 跨度>的 $RootItem 跨度>的 跨度>的 = 跨度>的跨度>的 GET-档案跨度>的 跨度>的 $起点跨度>的 跨度>的 $ ACLReportTemplate 跨度> <跨度风格= “颜色:#000000;”> 跨度>的 = 跨度>的 跨度>的新物体跨度>的 跨度>的 psobject跨度> <翼展Style = “颜色:#000000;”> 跨度>的 $ ACLReportTemplate 跨度>的 |跨度>的添加会员跨度>的 跨度>的 - MemberType 跨度>的 跨度>的 NoteProperty 跨度>的 跨度>的 - 名称跨度>的 跨度>的对象名跨度>的 跨度>的 - 值跨度>的 跨度>的 $空跨度> <跨度风格= “颜色:#000000;”> 跨度>的 $ ACLReportTemplate 跨度>的 | Add-Member -MemberType NoteProperty -Name ACL -Value $null $objResult = @() # Build list of ACLs $ACLLIst = &'.\fileacl.exe' "$($StartingPoint)" /SUB /FILES /ADVANCED /OWNER /FORCE $ACLLIst | foreach { $objTemp = $ACLReportTemplate | Select-Object * $i = $_.Split(";") $objTemp.ObjectName = $i[0] $objTemp.ACL = $i[1] $objResult += $objTemp } $objResult
如果你喜欢这个,看看泰森一些其他职位:
- 当一台计算机科学学位的问题,而当它不
- 从什么时候起计算成为云/需要的宣言?
- 为什么一个钓鱼用诱饵证书颁发机构(CA)?
- 我会信任你,如果每个人都信任你?
- 这里是一个很好的问题:是脚本编程或者只是系统管理?
- PowerShell的男孩和失踪的cmdlet的情况下!
- 有趣的使用PowerShell 2.0三项赛!
- 创建ASP.NET Web应用程序自定义404页,手柄链接重定向
或者,如果你愿意,你还可以检查出一些泰森的最新出版物:
- Windows PowerShell中偷跑(2ND版)
- Windows Server 2008的偷跑(是的,我确实帮助这本书)