Access control list
|
The access control list (ACL) is a concept in computer security, used to enforce privilege separation. It is a means of determining the appropriate access rights to a given object given certain aspects of the user process that is requesting them, principally the process's user identity (in POSIX, effective UID).
The list is a data structure, usually a table, containing entries that specify individual user or group rights to specific system objects, such as a program, a process, or a file. These entries are known as access control entries (ACE) in the Microsoft Windows and OpenVMS operating systems. Each accessible object contains an identifier to its ACL. The privileges or permissions determine specific access rights, such as whether a user can read from, write to or execute an object. In some implementations an ACE can control whether or not a user, or group of users, may alter the ACL on an object.
The ACL is a concept, with several different implementations in various operating systems, although there is a POSIX "standard" (the POSIX security drafts, .1e and .2c, were withdrawn when it became clear their scope was too wide and the work would not complete, but the well-developed parts defining ACLs have been widely implemented and are known as "POSIX ACLs").
ACL implementations can be quite complex. ACLs can apply to objects, directories and other containers, and for the objects and the containers created within this container. ACLs cannot implement all of the security measures that one might wish to have on all systems, and a fine-grained capability-based operating system may be a better approach, with the authority transferred from the objects being accessed to the objects seeking access — allowing for much finer-grained control.
In networking, the term Access Control List (ACL) refers to a list of ports and services that are available on a host, each with a list of hosts and/or networks permitted to use the service. Both individual servers as well as routers can have access lists. Access lists are used to control both inbound and outbound traffic, and in this context they are similar to firewalls.
- This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.
External links
- POSIX Access Control Lists on Linux (http://www.suse.de/~agruen/acl/linux-acls/online/)
- Online ACL Wildcard Mask Calculator for Access Control Lists (http://www.subnet-calculator.com/wildcard.php)
- C2-Wiki Discussion and Relational Implementation (http://www.c2.com/cgi/wiki?AccessControlList)
- Definition (http://searchsecurity.techtarget.com/sDefinition/0,,sid14_gci213757,00.html)
- Generic Access Control Lists (http://phpgacl.sourceforge.net/)
- Article "Security Briefs: Access Control List Editing in .NET (http://msdn.microsoft.com/msdnmag/issues/05/03/SecurityBriefs/default.aspx)" by Keith Brownde:Access Control List