Windows: Перелічіть файли та їх дозволи (доступ) у командному рядку


56

У linux ls -lперераховані дозволи для файлів, наприклад:

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

У Windows команди treeта команди dirне мають можливості перелічити дозволи. Як можна перераховувати файли та їх дозволи лише за допомогою командного рядка?


А, може %~aX, якщо вона буде в партії? Це як d----------.
Константин Ван

Відповіді:


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з сервера 2003]. cacls не знає про деякі режими 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)є "успадкувати тільки".

Microsoft також використовувала для надання інструменту 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

Чи можу я змінити це, щоб пропустити папку, до якої я не маю доступу? наприклад, коли я запустив це (не як адміністратор), я отримав помилку ("несанкціонована робота"), і звіт зупинився на папці, до якої я не мав доступу
Бен

14

Ви також можете поглянути на AccessChk від Sysinternals. Вихід можна проаналізувати набагато простіше.

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

1
Я вважаю, що питання ОП можна було трактувати будь-яким способом. Судячи з недавнього підсумкового голосування за мою відповідь, це було корисно принаймні одній іншій людині, крім мене. Моя відповідь не призначена сперечатися з Вашою відповіддю або спростувати її. Це інший спосіб підійти до проблеми, щоб отримати дуже схожу відповідь.
JJS

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.