2011-12-02 22:02:59 +0000 2011-12-02 22:02:59 +0000
55
55

Janelas: Listar ficheiros e respectivas permissões (acesso) na linha de comandos

No linux, ls -l lista ficheiros com permissões, como este:

-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 de listar permissões. Como é possível listar ficheiros e as suas permissões usando apenas a linha de comandos?

Respostas (4)

64
64
64
2011-12-02 22:07:25 +0000

Utilize 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 escolha no Windows XP [embora possa copiar icacls.exe a partir do Server 2003]. O

> 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 “object inherit” (ficheiros herdarão este ACE), (CI) é “container inherit” (contentores - i. e. pastas - herdará este ACE), (IO) é “herda apenas”.

A Microsoft também utilizou uma ferramenta xcacls separadamente, mas a sua funcionalidade faz agora parte do icacls.

30
30
30
2011-12-02 22:06:56 +0000

Pode usar 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 (alias com dir e ls) para obter as permissões dos ficheiros.

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

Ou, usando o alias:

PS C:\> Dir | Get-Acl
15
15
15
2014-08-04 15:39:02 +0000

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
4
4
4
2014-08-06 03:56:30 +0000

dir /Q dá-lhe o proprietário dos directórios.