Menggunakan Windows Server 2012 R2 DAN Windows Server 2008 R2.
Saya memiliki folder yang dipanggil C:\temp\testdan saya ingin memberikan akses kepada SYSTEMdan pengguna serta semua file dan subdirektori, dan menghapus semua yang lainnya. Saya sudah mencoba perintah ini tetapi semua izin yang ada tetap:
Izin yang ada adalah:
Access : NT AUTHORITY\SYSTEM Allow FullControl
BUILTIN\Administrators Allow FullControl
BUILTIN\Users Allow ReadAndExecute, Synchronize
BUILTIN\Users Allow AppendData
BUILTIN\Users Allow CreateFiles
CREATOR OWNER Allow 268435456
Saya ingin menghapus semua ACL kecuali SYSTEM, dan menambahkan<DOMAIN>\<USER>
Saya mencoba perintah ini:
icacls c:\temp\test /grant:r <DOMAIN>\<USER>:(OI)(CI)F /t
processed file: c:\temp\test
Successfully processed 1 files; Failed processing 0 files
Ketika saya melihat izin setelah itu, <DOMAIN>\<USER>memiliki izin yang benar tetapi yang lainnya tetap. Saya pikir /grant:rmengganti semua izin? Apakah Anda tahu perintah apa yang perlu saya jalankan untuk menghapus semua izin lainnya?
/grant:rhanya menghapus izin eksplisit yang ada, bukan yang diwariskan dari folder di atas. Anda harus memasukkan /inheritance:rjuga.
NOTE: Cacls is now deprecated, please use Icacls.
cacls.exedapat mengatur ACL dalam urutan yang salah, berpotensi menyebabkan masalah (saya akan meninggalkan ini sebagai latihan untuk pembaca).
cacls c:\temp\test /t /g <DOMAIN>\<USER>:Ftetapi saya pernah mendengar bahwa icacls telah menggantikannya, dapatkah seseorang menunjukkan versi icacls yang setara untuk menghasilkan perilaku yang sama?