-
08/10/2013
-
401
-
989 bài viết
Danh sách điều khiển truy cập tùy ý (DACL)
Nhiều bạn đã quen với khái niệm danh sách điều khiển truy cập (Access Control List - ACL), một phương pháp để kiểm soát quyền truy cập của một đối tượng (user, tiến trình...) đến một tài nguyên nào đó. Vậy danh sách điều khiển truy cập tùy ý (Discretionary Access Control List) là gì và có gì khác so với ACL thông thường? Bài viết này sẽ đề cập đến việc đó.
Nếu một đối tượng trên Windows không có danh sách kiểm soát truy cập tùy ý (DACL), thì hệ thống sẽ cho phép mọi người có toàn quyền truy cập vào đối tượng đó. Nếu một đối tượng có DACL, hệ thống chỉ cho phép truy cập được cho phép rõ ràng bởi các mục kiểm soát truy cập (Access Control List Entry - ACE) trong DACL. Nếu không có ACE nào trong DACL, hệ thống sẽ không cho phép bất kỳ ai truy cập.
Tương tự, nếu một DACL có các ACE cho phép một vài người dùng hoặc nhóm người dùng, thì hệ thống sẽ ngầm từ chối quyền truy cập đối với tất cả các user/group mà không có trong các ACE.
Trong hầu hết các trường hợp, bạn có thể kiểm soát quyền truy cập vào một đối tượng bằng cách sử dụng các ACE dạng cho phép truy cập; bạn không cần phải tạo các ACE từ chối truy cập vì cơ chế từ chối ngầm. Trường hợp ngoại lệ là khi một ACE đã cấp phép quyền truy cập cho một nhóm và giờ bạn muốn từ chối quyền truy cập của một thành viên trong nhóm.
Để thực hiện việc này, hãy tạo ACE từ chối truy cập cho thành viên đó và đặt thứ tự lên trước ACE cho phép truy cập cho nhóm.
Lưu ý thứ tự của các ACE rất quan trọng vì hệ thống đọc các ACE theo trình tự từ trên xuống dưới cho đến khi quyền truy cập được cấp hoặc từ chối. ACE từ chối quyền truy cập của người dùng phải được đặt lên trước, nếu không hệ thống sẽ cấp quyền truy cập cho người dùng đáng lẽ bị chặn.
Hình minh họa sau đây cho thấy một DACL từ chối quyền truy cập của một người dùng có tên là Andrew và cấp quyền truy cập cho hai nhóm A và nhóm Everyone. Các thành viên của nhóm A nhận được các quyền truy cập Read, Write và Execute bằng cách tích lũy các quyền được phép đối với nhóm A và các quyền được phép đối với Everyone. Ngoại lệ là user Andrew, bị ACE bị từ chối truy cập mặc dù là thành viên của nhóm Everyone.
Nếu một đối tượng trên Windows không có danh sách kiểm soát truy cập tùy ý (DACL), thì hệ thống sẽ cho phép mọi người có toàn quyền truy cập vào đối tượng đó. Nếu một đối tượng có DACL, hệ thống chỉ cho phép truy cập được cho phép rõ ràng bởi các mục kiểm soát truy cập (Access Control List Entry - ACE) trong DACL. Nếu không có ACE nào trong DACL, hệ thống sẽ không cho phép bất kỳ ai truy cập.
Tương tự, nếu một DACL có các ACE cho phép một vài người dùng hoặc nhóm người dùng, thì hệ thống sẽ ngầm từ chối quyền truy cập đối với tất cả các user/group mà không có trong các ACE.
Trong hầu hết các trường hợp, bạn có thể kiểm soát quyền truy cập vào một đối tượng bằng cách sử dụng các ACE dạng cho phép truy cập; bạn không cần phải tạo các ACE từ chối truy cập vì cơ chế từ chối ngầm. Trường hợp ngoại lệ là khi một ACE đã cấp phép quyền truy cập cho một nhóm và giờ bạn muốn từ chối quyền truy cập của một thành viên trong nhóm.
Để thực hiện việc này, hãy tạo ACE từ chối truy cập cho thành viên đó và đặt thứ tự lên trước ACE cho phép truy cập cho nhóm.
Lưu ý thứ tự của các ACE rất quan trọng vì hệ thống đọc các ACE theo trình tự từ trên xuống dưới cho đến khi quyền truy cập được cấp hoặc từ chối. ACE từ chối quyền truy cập của người dùng phải được đặt lên trước, nếu không hệ thống sẽ cấp quyền truy cập cho người dùng đáng lẽ bị chặn.
Hình minh họa sau đây cho thấy một DACL từ chối quyền truy cập của một người dùng có tên là Andrew và cấp quyền truy cập cho hai nhóm A và nhóm Everyone. Các thành viên của nhóm A nhận được các quyền truy cập Read, Write và Execute bằng cách tích lũy các quyền được phép đối với nhóm A và các quyền được phép đối với Everyone. Ngoại lệ là user Andrew, bị ACE bị từ chối truy cập mặc dù là thành viên của nhóm Everyone.
Chỉnh sửa lần cuối bởi người điều hành: