Windows: Liệt kê các tệp và quyền của họ (quyền truy cập) trong dòng lệnh


56

Trong linux, ls -lliệt kê các quyền của tập tin, như thế này:

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

Trong Windows, các lệnh treedirkhông có các tùy chọn để liệt kê các quyền. Làm thế nào có thể liệt kê các tệp và quyền của họ chỉ bằng dòng lệnh?


Uh, có lẽ %~aX, nếu nó trong lô? Nó giống như d----------.
Toàn cảnh

Câu trả lời:


64

Sử dụng 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)

Công cụ cacls cũ hơn là lựa chọn duy nhất trên Windows XP [mặc dù bạn có thể sao chép icacls.exetừ Server 2003]. cacls không biết về một số chế độ ACL, nhưng hiển thị hầu hết các chế độ tốt.

> 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

Trong cả hai đầu ra, (OI)có nghĩa là "kế thừa đối tượng" (các tệp sẽ kế thừa ACE này), (CI)là "thừa kế vùng chứa" (container - tức là các thư mục - sẽ kế thừa ACE này), (IO)là "chỉ kế thừa".

Microsoft cũng đã từng cung cấp một công cụ xcacls riêng biệt, nhưng chức năng của nó giờ là một phần của icacls .


29

Bạn có thể sử dụng Powershell và Get-Acllệnh

PS C:\> Get-Acl

   Directory:

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

Sử dụng kết hợp với Get-ChildItem(bí danh với dirls) để có được quyền cho các tệp.

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

Hoặc, sử dụng bí danh:

PS C:\> Dir | Get-Acl

13
PS C:\> Get-Acl | flcho một danh sách đẹp hơn.
AWippler

Tôi có thể thay đổi điều này để bỏ qua một thư mục mà tôi không có quyền truy cập không? ví dụ: khi tôi chạy cái này (không phải là quản trị viên), tôi đã gặp lỗi ("hoạt động trái phép") và báo cáo dừng ở thư mục mà tôi không có quyền truy cập
Ben

14

Bạn cũng có thể xem AccessChk từ Sysiternals. Đầu ra có thể được phân tích cú pháp dễ dàng hơn nhiều.

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

Nó làm một điều khác biệt mặc dù; nó liệt kê quyền truy cập hiệu quả cho người dùng hiện tại (hoặc được chỉ định), thay vì danh sách truy cập được cấu hình đầy đủ .
grawity

1
Tôi tin rằng câu hỏi của OP có thể đã được giải thích theo một trong hai cách. Đánh giá bằng cách bỏ phiếu gần đây về câu trả lời của tôi, điều này hữu ích với ít nhất một người khác ngoài tôi. Câu trả lời của tôi không có nghĩa là tranh luận hoặc từ chối câu trả lời của bạn. Đó là một cách khác nhau để tiếp cận vấn đề để có được một câu trả lời rất giống nhau.
JJS

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.