**Danh sách điều khiển truy cập** (tiếng Anh: *Access Control List*) là một kỹ thuật phần mềm - mà hệ điều hành và Phần mềm ứng dụng có thể dùng để giới hạn quyền truy cập vào dữ liệu và chức năng. Một ACL xác định phạm vi mà cá nhân (người dùng) và tiến trình của hệ thống có quyền truy cập, chẳng hạn như dịch vụ, dữ liệu, Windows Registry vv... Một ACL có thể được dùng chẳng hạn để cấp các quyền khác nhau như đọc, viết, cho chạy, hoặc xóa một tập tin hệ Linux cho nhiều người dùng, hoặc các nhóm người.

Triển khai
----------

Nhiều loại hệ thống thực hiện ACL.

### Hệ thống tập tin ACL

Một hệ thống tập tin ACL là một cấu trúc dữ liệu (thường là một bảng) chứa các mục chỉ định quyền của một người dùng riêng lẻ hoặc một nhóm đối với các đối tượng hệ thống cụ thể như các ứng dụng, tiến trình, hoặc các tập tin. Các mục này được gọi là các mục kiểm soát truy cập (ACE) trong hệ điều hành Microsoft Windows NT, OpenVMS, Unix, và Mac OS X. Mỗi đối tượng truy cập có chứa một định danh cho ACL của nó. Các đặc quyền hoặc các quyền xác định quyền truy cập cụ thể, chẳng hạn như liệu một người dùng có thể đọc, ghi vào hoặc thực thi một đối tượng. Trong một số triển khai, ACE có thể kiểm soát xem người dùng hoặc nhóm người dùng có thể thay đổi ACL của một đối tượng hay không.

Hầu hết các hệ điều hành Unix và tương tự Unix như (Linux, BSD, hay Solaris)  đều hỗ trợ các POSIX.1e ACL dựa trên một bản thảo POSIX ban đầu đã được thu hồi vào năm 1997. Nhiều hệ điều hành trong số này, ví dụ như AIX, FreeBSD, Mac OS X bắt đầu với phiên bản 10.4 ("Tiger"), hoặc Solaris với hệ thống tập tin ZFS, hỗ trợ các ACL NFSv4, là một phần của tiêu chuẩn NFSv4. Có hai thực hiện thử nghiệm của ACLs NFSv4 cho Linux: Các ACL NFSv4 hỗ trợ cho hệ thống tập tin Ext3  và gần đây Richacls, giúp ACL NFSv4 hỗ trợ cho hệ thống tập tin Ext4.

### Networking ACL cho các thiết bị mạng

Trong một số loại phần cứng máy tính độc quyền (các bộ định tuyến và thiết bị chuyển mạch (switch)), một danh sách kiểm soát truy cập cung cấp các quy tắc được áp dụng cho các số cổng hoặc địa chỉ IP có sẵn trên máy chủ hoặc tầng mạng, mỗi cái có một danh sách các máy chủ và/hoặc các mạng được phép sử dụng dịch vụ. Mặc dù có thể thêm cấu hình danh sách kiểm soát truy cập dựa trên tên miền mạng, đây là một ý tưởng đáng nghi ngờ bởi vì các tiêu đề TCP, UDP và ICMP riêng lẻ không chứa tên miền. Do đó, thiết bị thi hành danh sách kiểm soát truy cập phải tự phân giải các tên thành các địa chỉ số. Điều này thể hiện một mặt tấn công bổ sung cho kẻ tấn công tìm cách thỏa hiệp bảo mật của hệ thống mà danh sách điều khiển truy cập đang bảo vệ. Cả hai máy chủ cũng như bộ định tuyến riêng lẻ cũng có thể có ACL mạng. Danh sách kiểm soát truy cập có thể được cấu hình để kiểm soát lưu lượng trong và ngoài, và trong ngữ cảnh này chúng tương tự như tường lửa. Giống như tường lửa, ACL có thể tuân theo các quy định và tiêu chuẩn an toàn như PCI DSS.

### SQL ACL

Các thuật toán ACL đã được chuyển vào SQL và các hệ quản trị cơ sở dữ liệu quan hệ. Nhiều hệ thống "hiện đại" (2000s và 2010s) dựa vào SQL, như các hệ thống hoạch định tài nguyên doanh nghiệp và Hệ quản trị nội dung sử dụng các mô hình ACL trong các module quản trị của họ.

Tham khảo
---------

1. ↑  RFC 4949
2. ↑  "Managing Authorization and Access Control". Microsoft Technet. ngày 3 tháng 11 năm 2005. Truy cập ngày 8 tháng 4 năm 2013.
3. ↑  "Red Hat Enterprise Linux AS 3 Release Notes (x86 Edition)". Red Hat. 2003. Truy cập ngày 8 tháng 4 năm 2013. EA (Extended Attributes) and ACL (Access Control Lists) functionality is now available for ext3 file systems. In addition, ACL functionality is available for NFS.
4. ↑  "NFSv4 ACLs". FreeBSD. ngày 12 tháng 9 năm 2011. Truy cập ngày 8 tháng 4 năm 2013.
5. ↑  "Chapter 8 Using ACLs and Attributes to Protect ZFS Files". Oracle Corporation. ngày 1 tháng 10 năm 2009. Truy cập ngày 8 tháng 4 năm 2013.
6. ↑  Grünbacher, Andreas (tháng 5 năm 2008). "Native NFSv4 ACLs on Linux". SUSE. Bản gốc lưu trữ ngày 20 tháng 6 năm 2013. Truy cập ngày 8 tháng 4 năm 2013.
7. ↑  Grünbacher, Andreas (July–September 2010). "Richacls - Native NFSv4 ACLs on Linux". bestbits.at. Bản gốc lưu trữ ngày 20 tháng 3 năm 2013. Truy cập ngày 8 tháng 4 năm 2013.

Đọc thêm
--------

* Rhodes, Tom. "File System Access Control Lists (ACLs)". *FreeBSD Handbook*. Truy cập ngày 8 tháng 4 năm 2013.
* Michael Fox; John Giordano; Lori Stotler; Arun Thomas (ngày 24 tháng 8 năm 2005). "SELinux and grsecurity: A Case Study Comparing Linux Security Kernel Enhancements" (PDF). Đại học Virginia. Bản gốc (PDF) lưu trữ ngày 24 tháng 2 năm 2012. Truy cập ngày 8 tháng 4 năm 2013.
* Hinrichs, Susan (2005). "Operating System Security". *CyberSecurity Spring 2005*. University of Illinois at Urbana–Champaign. Bản gốc lưu trữ ngày 4 tháng 3 năm 2012. Truy cập ngày 8 tháng 4 năm 2013.
* Mitchell, John. "Access Control and Operating System Security" (PDF). Đại học Stanford. Truy cập ngày 8 tháng 4 năm 2013.
* Clarkson, Michael. "Access Control". Đại học Cornell. Truy cập ngày 8 tháng 4 năm 2013.
* Klein, Helge (ngày 12 tháng 3 năm 2009). "Permissions: A Primer, or: DACL, SACL, Owner, SID and ACE Explained". Truy cập ngày 8 tháng 4 năm 2013.
* "Access Control Lists". MSDN Library. ngày 26 tháng 10 năm 2012. Truy cập ngày 8 tháng 4 năm 2013.
* "How Permissions Work". Microsoft TechNet. ngày 28 tháng 3 năm 2003. Truy cập ngày 8 tháng 4 năm 2013.