Windows:在命令行中列出文件及其权限(访问)


Answers:


64

使用icacls

> icacls Music
Music SNOW\grawity:(I)(F)
      CREATOR OWNER:(I)(OI)(CI)(IO)(F)
      SNOW\grawity:(I)(OI)(CI)(IO)(F)
      NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)

较旧的cacls工具是Windows XP上的唯一选择[尽管您可以icacls.exe从Server 2003 复制]。cacls不了解某些ACL模式,但可以正常显示大多数ACL模式。

> cacls Music
F:\Users\Mantas\Music SNOW\grawity:F
                      CREATOR OWNER:(OI)(CI)(IO)F
                      SNOW\grawity:(OI)(CI)(IO)F
                      NT AUTHORITY\SYSTEM:(OI)(CI)F

在两个输出中,均(OI)表示“对象继承”(文件将继承此ACE),(CI)“容器继承”(容器(即文件夹)将继承此ACE)和(IO)“仅继承”。

微软还曾经单独提供xcacls工具,但是它的功能现在是icacls的一部分。


29

您可以使用Powershell和Get-Acl命令

PS C:\> Get-Acl

   Directory:

Path              Owner                            Access  
----              -----                            ------  
C:\               NT SERVICE\TrustedInstaller      Everyone Allow  FullControl

结合使用Get-ChildItem(和dir和一起使用ls)以获取文件的权限。

PS C:\> Get-ChildItem | Get-Acl

或者,使用别名:

PS C:\> Dir | Get-Acl

13
PS C:\> Get-Acl | fl以获得更好的列表。
AWippler 2013年

我可以更改此设置以跳过我无权访问的文件夹吗?例如,当我跑这(不作为管理员)我得到了一个错误(“非法操作”),该报告停在我没有访问该文件夹

14

您还可以查看Sysinternals的AccessChk。可以更轻松地解析输出。

C:\Users\jeremy>accesschk myad\simmonsj c:\inetpub

Accesschk v5.11 - Reports effective permissions for securable objects
Copyright (C) 2006-2012 Mark Russinovich
Sysinternals - www.sysinternals.com

RW c:\inetpub\custerr
RW c:\inetpub\history
RW c:\inetpub\logs
RW c:\inetpub\Roadkill
RW c:\inetpub\smartadmin
RW c:\inetpub\temp
RW c:\inetpub\wwwroot

但是它做的是另一回事。它列出了当前(或指定)用户的有效访问权限,而不是完整配置的访问权限列表。
grawity 2014年

1
我认为,OP的问题可以用任何一种方式解释。从最近对我的回答的投票来看,这对除我以外的至少其他人很有用。我的答案无意与您的答案争论或反驳。解决问题以得到非常相似的答案是另一种方式。
JJS 2014年

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.