Windows: Daftar file dan izinnya (akses) di baris perintah

56

Di linux, ls -ldaftarkan file permisi, seperti ini:

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

Di Windows, perintah treedan dirtidak memiliki opsi untuk mendaftar izin. Bagaimana mungkin mendaftar file dan izinnya hanya menggunakan baris perintah?

Jens Erat
sumber
Eh, mungkin %~aX, apakah itu dalam batch? Itu seperti d----------.
Константин Ван

Jawaban:

64

Gunakan icacl :

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

Alat cacls yang lebih lama adalah satu-satunya pilihan pada Windows XP [walaupun Anda dapat menyalin icacls.exedari Server 2003]. CACL tidak tahu tentang beberapa mode ACL, tetapi menampilkan sebagian besar dari mereka baik-baik saja.

> 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

Dalam kedua output, (OI)berarti "objek inherit" (file akan mewarisi ACE ini), (CI)adalah "container inherit" (wadah - yaitu folder - akan mewarisi ACE ini), (IO)adalah "inherit only".

Microsoft juga digunakan untuk menyediakan alat xcacls secara terpisah, tetapi fungsinya sekarang menjadi bagian dari icacls .

grawity
sumber
29

Anda dapat menggunakan Powershell dan Get-Aclperintahnya

PS C:\> Get-Acl

   Directory:

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

Gunakan bersama dengan Get-ChildItem(alias dengan dirdan ls) untuk mendapatkan izin untuk file.

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

Atau, menggunakan alias:

PS C:\> Dir | Get-Acl
squillman
sumber
13
PS C:\> Get-Acl | fluntuk daftar yang lebih bagus.
AWippler
Dapatkah saya mengubah ini untuk melewati folder yang saya tidak punya akses? misalnya, ketika saya menjalankan ini (bukan sebagai admin) saya mendapat kesalahan ("operasi tidak sah") dan laporan berhenti di folder saya tidak memiliki akses ke
Ben
14

Anda mungkin juga melihat AccessChk dari Sysinternals. Output dapat diurai lebih mudah.

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
JJS
sumber
Itu melakukan hal yang berbeda; itu mencantumkan akses efektif untuk pengguna saat ini (atau yang ditentukan), daripada daftar akses yang dikonfigurasi penuh .
grawity
1
Saya percaya pertanyaan OP bisa ditafsirkan dengan cara baik. Menilai oleh suara baru-baru ini pada jawaban saya, ini berguna untuk setidaknya satu orang selain saya. Jawaban saya tidak dimaksudkan untuk membantah atau menyangkal jawaban Anda. Ini adalah cara berbeda untuk mendekati masalah untuk mendapatkan jawaban yang sangat mirip.
JJS
4

dir /Q memberi Anda pemilik direktori.

James Selvakumar
sumber