Generated by GPT-5-mini| Access Control List | |
|---|---|
| Name | Access Control List |
| Caption | Representation of permissions in a file system ACL |
| Type | Security mechanism |
| Introduced | 1970s |
| Developers | Digital Equipment Corporation; Microsoft; Sun Microsystems |
| Related | Role-based access control; Capability-based security; Mandatory access control |
Access Control List. An access control list (ACL) is a data structure used to define permissions that govern which principals may perform specified operations on a resource. ACLs appear across computing and networking products produced by firms such as Microsoft, Sun Microsystems, Red Hat, Cisco Systems and Google, and have influenced authorization models in projects like Linux permissions, Windows NT security, and FreeBSD kernel access controls. As a practical mechanism ACLs interoperate with standards and protocols developed or adopted by bodies such as the Internet Engineering Task Force, IEEE, and ISO.
An ACL enumerates pairs or tuples that associate a principal (user, group, process, or device) with allowed or denied actions on an object such as a file, socket, or directory. In operating systems produced by Microsoft and distributions of Linux and FreeBSD the ACL entries coexist with identity management systems including Active Directory, LDAP, and Kerberos for authentication and principal resolution. Network devices from Cisco Systems and Juniper Networks apply packet-filtering ACLs to interfaces as part of routing and switching behavior governed by protocols like BGP and OSPF. ACLs can be compared with alternative models implemented by projects such as SELinux (a mandatory model) and research platforms influenced by Capability-based security.
Filesystem ACLs exist in varied forms: POSIX.1e-style ACLs adopted in implementations like Linux and Solaris provide entries for users and groups; Windows NTFS ACLs use discretionary access control lists (DACLs) and system access control lists (SACLs) integrated with Windows Server and Active Directory. Network ACLs deployed on routers and firewalls from vendors including Cisco Systems, Juniper Networks, and Palo Alto Networks express permit/deny rules addressing IP addresses, ports and protocols; they interact with protocols such as IPsec and 802.1X for link-layer enforcement. Cloud platforms operated by Amazon Web Services, Microsoft Azure, and Google Cloud Platform implement ACL-like policies alongside identity services like AWS Identity and Access Management, Azure Active Directory, and Google Identity. Database systems such as Oracle Database, Microsoft SQL Server, and PostgreSQL implement ACL mechanisms for table, schema, and row-level privileges. In web and application servers—projects like Apache HTTP Server, Nginx, and Tomcat—ACLs control request handling and resource access.
Administrators manage ACLs using graphical tools and command-line utilities provided by vendors: Windows PowerShell and MMC snap-ins for Microsoft Windows; command-line tools like setfacl and getfacl for Linux; and CLI/GUI interfaces on Cisco Systems routers. Integration with identity directories such as Active Directory, OpenLDAP, and single sign-on systems like SAML or OAuth 2.0 is common for centralizing policy. Change control and auditing often use systems from IBM and Splunk to collect SACL-equivalent events, while configuration management frameworks like Ansible, Puppet, and Chef codify ACL state across fleets. Best practices emphasize the principle of least privilege and periodic review using governance frameworks such as NIST guidance and ISO/IEC 27001.
ACLs can enforce fine-grained controls but are subject to misconfiguration, privilege escalation, and inheritance pitfalls seen in environments using technologies like Windows Server group nesting or complex POSIX ACL masks. Audit trails produced by Windows Event Log or syslog help detect unauthorized access but require correlation with identity assertions from systems such as Kerberos or OAuth 2.0 for attribution. Attack techniques targeting ACLs include exploiting default permissions in images distributed by vendors like Docker registries, weak ACLs on Amazon S3 buckets, or race conditions in filesystem ACL checks in implementations of Linux and FreeBSD. Privacy regulations such as GDPR and sectoral laws like the Health Insurance Portability and Accountability Act influence how ACLs must be applied to protect personal data and health records.
ACL evaluation adds overhead to access-control decision paths; kernel-level implementations in Linux, FreeBSD, and Windows NT optimize lookup with data structures such as hashed entries and inheritance caching. Large-scale directory-backed ACL deployments—commonly found in enterprises using Active Directory or OpenLDAP integrated with NFS or SMB/CIFS file shares—face challenges in replication, latency, and caching consistency across sites. Network ACLs with extensive rule-sets on devices from Cisco Systems or Arista Networks may degrade forwarding performance, prompting use of hardware offload, TCAM in switches, or rule-minimization techniques studied in academic venues including ACM SIGCOMM and USENIX conferences.
Standards bodies such as IETF and IEEE have produced RFCs and specifications that influence ACL semantics, for example RFCs addressing IPsec, SNMP, and Directory Services. POSIX ACL extensions were standardized in drafts and implementations across UNIX-like systems; NTFS ACL semantics are documented in Microsoft specifications used by interoperable implementations in Samba and file servers. Interoperability efforts involve projects like Samba for bridging Windows and Unix ACL models, and identity federation standards such as SAML, OAuth 2.0, and OpenID Connect for cross-domain principal mapping. Compliance frameworks such as PCI DSS and ISO/IEC 27001 affect how ACLs are applied in regulated industries.
Category:Computer security