在linux中,ls -l
列出文件权限,如下所示:
-rw-r--r-- 1 user user 924 2011-07-01 20:23 test.txt
在Windows中,命令tree
和dir
没有列出权限的选项。仅使用命令行如何列出文件及其权限?
在linux中,ls -l
列出文件权限,如下所示:
-rw-r--r-- 1 user user 924 2011-07-01 20:23 test.txt
在Windows中,命令tree
和dir
没有列出权限的选项。仅使用命令行如何列出文件及其权限?
Answers:
使用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的一部分。
您可以使用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
PS C:\> Get-Acl | fl
以获得更好的列表。
您还可以查看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
%~aX
如果是批量的话?就像d----------
。