web-dev-qa-db-fra.com

Windows: liste les fichiers et leurs autorisations (accès) en ligne de commande

Dans linux, ls -l liste les autorisations de fichiers, comme ceci:

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

Sous Windows, les commandes tree et dir ne permettent pas de répertorier les autorisations. Comment est-il possible de répertorier les fichiers et leurs autorisations en ligne de commande uniquement?

51
user89272

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

L'ancien outil cacls est le seul choix sous Windows XP [bien que vous puissiez copier icacls.exe à partir de Server 2003]. (cacls} _ ne connaît pas certains modes ACL, mais affiche la plupart d'entre eux très bien.

> 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

Dans les deux sorties, (OI) signifie "objet inherit" (les fichiers hériteront de cette ACE), (CI) correspond à "conteneur inherit" (les conteneurs - c'est-à-dire les dossiers - hériteront de cette ACE), (IO) sera "hériter uniquement".

Microsoft utilisait également un outil (xcacls} _ séparément, mais ses fonctionnalités font maintenant partie de icacls.

58
grawity

Vous pouvez utiliser Powershell et la commande Get-Acl

PS C:\> Get-Acl

   Directory:

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

Utilisez-le conjointement avec Get-ChildItem (alias dir et ls) pour obtenir les autorisations pour les fichiers.

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

Ou, en utilisant l'alias:

PS C:\> Dir | Get-Acl
24
squillman

Vous pouvez également consulter AccessChk de Sysinternals. La sortie peut être analysée beaucoup plus facilement.

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
13
JJS

dir /Q vous donne le propriétaire des répertoires.

2
James Selvakumar