Bạn có thể sử dụng iCACLS tích hợp sẵn công cụ quản lý quyền NTFS trên Windows. icacls.exe
công cụ dòng lệnh cho phép bạn lấy hoặc thay đổi Danh sách kiểm soát truy cập (ACL) cho các tệp và thư mục trên hệ thống tệp NTFS. Trong bài viết này, chúng ta sẽ xem xét các lệnh hữu ích để quản lý quyền NTFS trên Windows với iCACLS.
Nội dung:
- Sử dụng iCACLS để xem và đặt quyền đối với tệp và thư mục
- Cách Sao lưu (Xuất) Quyền NTFS của Thư mục?
- Cách khôi phục quyền NTFS với iCacls?
- Đặt lại quyền NTFS về mặc định
- Sao chép quyền NTFS từ một thư mục sang thư mục khác
Sử dụng iCACLS để xem và đặt quyền đối với tệp và thư mục
Các quyền truy cập hiện tại đối với bất kỳ đối tượng nào trên ổ đĩa NTFS có thể được hiển thị như sau:
icacls 'C:\Share\Veteran\'
Lệnh sẽ trả về danh sách người dùng và nhóm đã được chỉ định quyền truy cập. Quyền được chỉ định bằng cách sử dụng chữ viết tắt:
- F - toàn quyền truy cập
- M - sửa đổi quyền truy cập
- RX - quyền truy cập đọc và thực thi
- R - quyền truy cập chỉ đọc
- W – Quyền truy cập chỉ viết
- Đ - xóa
Quyền kế thừa được chỉ định trước quyền truy cập (quyền kế thừa chỉ được áp dụng cho các thư mục):
- (OI) - đối tượng kế thừa
- (CI) - kế thừa vùng chứa
- (IO) - chỉ kế thừa
- (I) - kế thừa quyền từ vùng chứa mẹ
Với icacls, bạn có thể thay đổi quyền đối với thư mục.
Để cấp “ tài nguyên \ mun-fs01_Auditors ”Nhóm quyền đọc và thực thi (RX) trên thư mục:
icacls 'C:\Share\Veteran\' /grant resource\mun-fs01_Auditors:RX
Để xóa một nhóm khỏi thư mục ACL:
icacls 'C:\Share\Veteran\' /remove resource\mun-fs01_Auditors
Với icacls, bạn có thể bật kế thừa quyền NTFS từ thư mục mẹ:
icacls 'C:\Share\Veteran\' /inheritance:e
Hoặc vô hiệu hóa kế thừa bằng cách xóa tất cả các ACE được kế thừa:
icacls 'C:\Share\Veteran\' /inheritance:r
Bạn có thể sử dụng icacls.exe để thay đổi quyền sở hữu tệp hoặc thư mục
icacls 'C:\Share\Veteran\' /setowner resource\j.smith /T /C /L /Q
Làm thế nào để Sao lưu (Xuất) Quyền NTFS của Thư mục?
Trước khi thực hiện các thay đổi quan trọng đối với quyền (di chuyển, cập nhật ACL, di chuyển tài nguyên) trên thư mục NTFS (hoặc thư mục mạng chia sẻ), bạn nên sao lưu các quyền cũ. Bản sao này sẽ cho phép bạn quay lại cài đặt ban đầu hoặc ít nhất là làm rõ các quyền cũ cho một tệp / thư mục cụ thể.
Bạn có thể sử dụng công cụ icacls.exe để xuất / nhập quyền thư mục NTFS hiện tại. Để nhận tất cả ACL cho một thư mục cụ thể (bao gồm các thư mục con và tệp) và xuất chúng sang tệp văn bản, hãy chạy lệnh sau:
icacls g:\veteran /save c:\backup\veteran_ntfs_perms.txt /t /c
Tùy thuộc vào số lượng tệp và thư mục, việc xuất quyền có thể mất khá nhiều thời gian. Sau khi lệnh được thực thi, thống kê về số lần xử lý tệp thành công hoặc không thành công sẽ được hiển thị.
Successfully processed 3001 files; Failed processing 0 files
Mở tệp Vete_ntfs_perms.tx t sử dụng bất kỳ trình soạn thảo văn bản nào. Như bạn có thể thấy, nó chứa danh sách đầy đủ các tệp và thư mục trong một thư mục và mỗi mục có các quyền hiện tại được chỉ định trong SDDL (Ngôn ngữ định nghĩa bộ mô tả bảo mật).
Ví dụ:quyền NTFS hiện tại cho thư mục gốc như sau:
D:PAI(A;OICI;FA;;;BA)(A;OICIIO;FA;;;CO)(A;OICI;0x1200a9;;;S-1-5-21-2340243621-32346796122-2349433313-23777994)(A;OICI;0x1301bf;;;S-1-5-21-2340243621-32346796122-2349433313-23777993)(A;OICI;FA;;;SY)(A;OICI;FA;;;S-1-5-21-2340243621-32346796122-2349433313-24109193)S:AI
Chuỗi này mô tả quyền truy cập cho một số nhóm hoặc người dùng. Chúng tôi sẽ không xem xét chi tiết về cú pháp SDDL (định dạng SDDL đã được thảo luận ngắn gọn trong bài viết “Cách xem và sửa đổi quyền dịch vụ trong Windows?”). Hãy tập trung vào một phần nhỏ của SDDL bằng cách chỉ chọn một đối tượng:
(A;OICI;FA;;;S-1-5-21-2340243621-32346796122-2349433313-24109193)
Đ - loại truy cập (Cho phép)
OICI - cờ kế thừa (OBJECT INHERIT + CONTAINER INHERIT)
FA - loại quyền (SDDL_FILE_ALL - tất cả đều được phép)
S-1-5-21-2340243621-32346796122-2349433313-24109193 - SID của tài khoản hoặc nhóm miền mà các quyền được thiết lập. Để chuyển đổi SID thành tài khoản hoặc tên nhóm, hãy sử dụng lệnh PowerShell sau:
$objSID = New-Object System.Security.Principal.SecurityIdentifier ("S-1-5-21-2340243621-32346796122-2349433313-24109193")
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
$objUser.Value
Hoặc sử dụng một trong các lệnh:
Get-ADUser -Identity SID
hoặc
Get-ADGroup -Identity SID
Do đó, bạn nhận thấy rằng người dùng corp \ dvivar có quyền Toàn quyền kiểm soát trên thư mục này.
Cách Khôi phục Quyền NTFS với iCacls?
Bạn có thể khôi phục quyền NTFS trên một thư mục bằng cách sử dụng tệp kỳ cựu_ntfs_perms.txt đã tạo trước đó. Để đặt quyền NTFS trên các đối tượng trong thư mục theo các giá trị trong tệp sao lưu ACL, hãy chạy lệnh sau:
icacls g:\ /restore c:\backup\veteran_ntfs_perms.txt /t /c
Sau khi tất cả các quyền đã được khôi phục, thống kê về số lượng tệp đã xử lý cũng sẽ được hiển thị.
Lưu ý rằng tệp ACL sao lưu chứa các đường dẫn tệp tương đối, không tuyệt đối. Điều này có nghĩa là bạn có thể khôi phục quyền trên một thư mục ngay cả sau khi di chuyển nó sang một ổ đĩa / thư mục khác.
Đặt lại Quyền NTFS thành Mặc định
Bạn có thể sử dụng công cụ icacls để đặt lại quyền đối với thư mục (cũng như các tệp và thư mục con lồng nhau).
icacls C:\share\veteran /reset /T /Q /C
Lệnh này sẽ kích hoạt các quyền NTFS kế thừa cho đối tượng được chỉ định và sẽ xóa mọi ACL khác.
Sao chép Quyền NTFS từ một thư mục sang thư mục khác
Bạn có thể sử dụng tệp văn bản có bản sao lưu ACL để sao chép quyền NTFS từ thư mục này sang thư mục khác.
Đầu tiên, sao lưu các quyền NTFS của thư mục nguồn:
icacls 'C:\Share\Veteran' /save C:\PS\save_ntfs_perms.txt /c
Và sau đó áp dụng các ACL đã lưu vào thư mục đích:
icacls D:\Share /restore C:\PS\save_ntfs_perms.txt /c
Điều này sẽ hoạt động nếu các thư mục nguồn và đích được đặt tên giống nhau. Điều gì xảy ra nếu tên thư mục đích khác? Ví dụ:bạn cần sao chép quyền NTFS vào thư mục D:\ PublicDOCS.
Cách dễ nhất là mở save_ntfs_perms.txt tập tin trong notepad và chỉnh sửa tên thư mục. Sử dụng chức năng Thay thế để thay thế Cựu chiến binh tên bằng PublicDOCS .
Sau đó, nhập các quyền NTFS từ tệp và áp dụng chúng vào thư mục đích:
icacls D:\ /restore C:\PS\save_ntfs_perms.txt /c
Get-Acl -Path 'C:\Share\Veteran' | Set-Acl -Path 'E:\PublicDOCS'