การใช้ Windows Server 2012 R2 และ Windows Server 2008 R2
ฉันมีโฟลเดอร์ชื่อC:\temp\test
และฉันต้องการอนุญาตการเข้าถึงSYSTEM
และผู้ใช้และไฟล์และไดเรกทอรีย่อยทั้งหมดและลบทุกอย่างอื่น ฉันลองคำสั่งนี้แล้ว แต่การอนุญาตที่มีอยู่ทั้งหมดยังคงอยู่:
สิทธิ์ที่มีอยู่คือ:
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
ฉันต้องการลบ ACL ทั้งหมดยกเว้นSYSTEM
และเพิ่ม<DOMAIN>\<USER>
ฉันลองคำสั่งนี้:
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
เมื่อฉันดูที่สิทธิ์หลังจากนั้น<DOMAIN>\<USER>
มีสิทธิ์ที่ถูกต้อง แต่คนอื่น ๆ ยังคงอยู่ ฉันคิดว่า/grant:r
แทนที่สิทธิ์ทั้งหมดหรือไม่ คุณรู้หรือไม่ว่าคำสั่งใดที่ฉันต้องใช้เพื่อลบสิทธิ์อื่น ๆ ทั้งหมด?
/grant:r
ลบสิทธิ์ที่ชัดเจนที่มีอยู่เท่านั้นไม่ใช่สิทธิ์ที่ได้รับมาจากโฟลเดอร์ด้านบน คุณจะต้องรวม/inheritance:r
เช่นกัน
NOTE: Cacls is now deprecated, please use Icacls.
cacls.exe
สามารถตั้งค่า ACL ในลำดับที่ไม่ถูกต้องอาจทำให้เกิดปัญหา (ฉันจะปล่อยให้มันเป็นแบบฝึกหัดสำหรับผู้อ่าน)
cacls c:\temp\test /t /g <DOMAIN>\<USER>:F
แต่ฉันได้ยินมาว่า icacls ได้แทนที่มันแล้วมีใครแสดงให้ฉันเห็นว่าเวอร์ชัน icacls ที่เทียบเท่ากันเพื่อสร้างพฤติกรรมที่เหมือนกันหรือไม่