ACL

Stands for "Access Control List."

An ACL is a list of user permissions for a file, folder, or other data object. The entries in an ACL specify which users and groups can access something and what actions they may perform. ACLs are used by operating systems, networking devices, and database management software to help administer access to resources.

Multi-user operating systems like Windows, macOS, and Linux use ACLs to manage permissions for files and folders in the file system. These ACLs govern access for both individual users and user groups and determine what actions they may perform. On Unix-based operating systems, these operations include read, write, and execute; ACLs on Windows also support those same operations and add modify and full-control permissions.

Database management systems use ACLs to control the ability to access and modify the contents of a database. A database ACL manages access to both database objects (like a specific table or view) and to the data itself (in a table's rows and columns). Database administrators can control which users and user groups can add, update, and delete data from a database; they can even hide specific fields from certain users to keep some information secret while still allowing access to less sensitive data.

Network devices use their own ACLs to control and filter network traffic. However, instead of controlling access by users and groups, they use other criteria to decide whether to permit traffic to pass. Typical criteria include the source and destination IP address, port number, protocol, or even time of day. These criteria may even be combined to provide very fine control over network traffic. For example, a router may be configured using an ACL to block streaming video overnight while still allowing web browsing traffic to proceed.

Updated August 11, 2023 by Brian P.

quizTest Your Knowledge

Which of the following is an example of brownfield development?

A
Creating software for a new industry
0%
B
Developing an app for multiple platforms
0%
C
Developing a new version of an existing program
0%
D
Designing a program to run on legacy systems
0%
Correct! Incorrect!     View the Brownfield definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of ACL on this page is an original definition written by the TechTerms.com team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.