Jos*_* Y. 3 windows-server-2003 icacls
试图清理这个带有 PHP CGI 服务器的 IIS6 的权限,似乎有几个文件/文件夹对每个人都有写权限。(您可能会反复猜测正在发生的事情。)
所以,基本上,我正在寻找相当于 find $directory -perm 777 -exec ls -ld {} \;
我可以做第一部分,列出提到每个人的文件icacls
,但似乎无法显示实际的 ACL:
icacls \directory /findSID *S-1-1-0 /t
查看subinacl
文档和各种谷歌结果,似乎我可以使用 /subdirectories 和 /display 来实现这一点,但它立即返回,没有结果也没有错误:
C:\>subinacl /subdirectories \directory\*.* /findsid=Everyone /display
+subdirectories \directory\*.*
/findsid=Everyone
/display
Elapsed Time: 00 00:00:00
Done: 0, Modified 0, Failed 0, Syntax errors 0
Run Code Online (Sandbox Code Playgroud)
Orbitron 的建议很棒,但是如果您想使用纯粹的 PowerShell 方式而不必安装 pstools,请查看select-string
cmdlet。您可能必须先将对象管道通过管道传输到文件,然后使用 select-string 使用它,或者您可以out-string
插入管道。
Get-ChildItem -Recurse | Get-Acl | out-string -stream | select-string -pattern "everyone"