Windows: lista de arquivos e suas permissões (acesso) na linha de comando

43

No linux, ls -l lista permissões de arquivos, assim:

-rw-r--r--  1 user user      924 2011-07-01 20:23 test.txt

No Windows, os comandos tree e dir não têm as opções para listar permissões. Como é possível listar arquivos e suas permissões usando apenas a linha de comando?

    
por Jens Erat 02.12.2011 / 23:02

4 respostas

51

Use 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)

A ferramenta mais antiga cacls é a única opção no Windows XP [embora você possa copiar icacls.exe do Server 2003]. cacls não sabe sobre alguns modos ACL, mas exibe a maioria deles bem.

> 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

Em ambas as saídas, (OI) significa "objeto herdado" (arquivos herdarão essa ACE), (CI) é "recipiente herdado" (contêineres - ou seja, pastas - herdarão essa ACE), (IO) é "herdar apenas ".

A Microsoft também costumava fornecer uma ferramenta xcacls separadamente, mas sua funcionalidade agora faz parte de icacls .

    
por 02.12.2011 / 23:07
23

Você pode usar o Powershell e o comando Get-Acl

PS C:\> Get-Acl

   Directory:

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

Use-o em conjunto com Get-ChildItem (com alias de dir e ls ) para obter as permissões para os arquivos.

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

Ou usando o alias:

PS C:\> Dir | Get-Acl
    
por 02.12.2011 / 23:06
12

Você também pode dar uma olhada em AccessChk da Sysinternals. A saída pode ser analisada muito mais facilmente.

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
    
por 04.08.2014 / 17:39
2

dir /Q fornece o proprietário dos diretórios.

    
por 06.08.2014 / 05:56