Menggunakan Windows Server 2012 R2 DAN Windows Server 2008 R2.
Saya memiliki folder yang dipanggil C:\temp\test
dan saya ingin memberikan akses kepada SYSTEM
dan 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:r
mengganti semua izin? Apakah Anda tahu perintah apa yang perlu saya jalankan untuk menghapus semua izin lainnya?
/grant:r
hanya menghapus izin eksplisit yang ada, bukan yang diwariskan dari folder di atas. Anda harus memasukkan /inheritance:r
juga.
NOTE: Cacls is now deprecated, please use Icacls.
cacls.exe
dapat 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>:F
tetapi saya pernah mendengar bahwa icacls telah menggantikannya, dapatkah seseorang menunjukkan versi icacls yang setara untuk menghasilkan perilaku yang sama?