Làm cách nào để thay thế quyền và mọi thứ bên trong bằng icacls trên Windows Server 2012?


15

Sử dụng Windows Server 2012 R2 VÀ Windows Server 2008 R2.

Tôi có một thư mục được gọi C:\temp\testvà tôi muốn cấp quyền truy cập cho SYSTEMngười dùng và tất cả các tệp và thư mục con, đồng thời xóa mọi thứ khác. Tôi đã thử lệnh này nhưng tất cả các quyền hiện có vẫn còn:

Các quyền hiện có là:

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

Tôi muốn xóa tất cả ACL ngoại trừ SYSTEMvà thêm<DOMAIN>\<USER>

Tôi đã thử lệnh này:

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

Khi tôi xem xét các quyền sau đó, quyền đó <DOMAIN>\<USER>có quyền nhưng tất cả các quyền khác vẫn còn. Tôi nghĩ /grant:rthay thế tất cả các quyền? Bạn có biết tôi cần chạy lệnh nào để loại bỏ tất cả các quyền khác không?


Lệnh này thực hiện chính xác những gì tôi muốn cacls c:\temp\test /t /g <DOMAIN>\<USER>:Fnhưng tôi đã nghe nói rằng icacls đã thay thế nó, ai đó có thể chỉ cho tôi phiên bản icacls tương đương để tạo ra hành vi tương tự không?
Đánh dấu Allison

3
/grant:rchỉ loại bỏ các quyền rõ ràng hiện có, không được thừa kế từ thư mục trên. Bạn cũng cần bao gồm /inheritance:r.
TheCleaner

1
Nếu CACLS thực hiện công việc thì không có lý do gì bạn không thể sử dụng nó, cho dù nó có bị phản đối hay không.
joeqwerty

@joeqwerty đúng nhưng cảm giác thật bẩn. Bản thân cacls thậm chí trả về một thông điệp để sử dụng icacls, vì vậy phải có một lý do rất chính đáng. NOTE: Cacls is now deprecated, please use Icacls.
Đánh dấu Allison

2
@joeqwerty cacls.execó thể đặt ACL sai thứ tự, có khả năng gây ra sự cố (Tôi sẽ để điều này như một bài tập cho người đọc).
Craig

Câu trả lời:


16

Như đã đề cập là bình luận, bạn cũng phải sử dụng /inheritance:rchuyển đổi để loại bỏ quyền thừa kế.

/grant:r chỉ loại bỏ các quyền rõ ràng.

icacls c:\temp\test /inheritance:r /grant:r <DOMAIN>\<USER>:(OI)(CI)F /T

Để cũng cấp SYSTEM:

icacls c:\temp\test /inheritance:r /grant:r <DOMAIN>\<USER>:(OI)(CI)F /grant:r SYSTEM:(OI)(CI)F /T

7

Tham số /grant:rnày không hoạt động với tôi. Tôi đã phải sử dụng /resetđể hoàn nguyên các quyền để chỉ kế thừa và sau đó loại bỏ các quyền được kế thừa. Đừng quên thay đổi thư mục con bằng /tcờ.

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.