# Install acl with Homebrew, apk, apt, dnf, Nix, pacman, zypper

Commands for manipulating POSIX access control lists. Version 2.4.0 via Homebrew; verified 2026-06-29. Also installable with debian: sudo apt install acl.

## Install

```sh
sudo av install brew:acl
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install acl
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add acl
```

  Evidence: Alpine Linux edge package indexes: acl from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install acl
```

  Evidence: Debian stable package indexes: acl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install acl
```

  Evidence: Fedora Rawhide package metadata: acl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#acl
```

  Evidence: nixpkgs package indexes: acl from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S acl
```

  Evidence: Arch Linux sync databases: acl from https://geo.mirror.pkgbuild.com/core/os/x86_64/core.db.tar.gz

- zypper (92%):

```sh
sudo zypper install acl
```

  Evidence: openSUSE Tumbleweed package metadata: acl from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

## Package facts

- **Package key:** brew:acl
- **Package manager:** Homebrew
- **Version:** 2.4.0
- **Source summary:** Commands for manipulating POSIX access control lists
- **Homepage:** <https://savannah.nongnu.org/projects/acl/>
- **Last updated:** 2026-06-29T16:48:27Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- chacl (alias)
- getfacl (alias)
- setfacl (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.4.0
## Project history and usage

acl is the Linux access control list package, providing commands and library support for POSIX-style filesystem ACLs.

### Project history

The Savannah README identifies acl as the access control list package and points to acl(5) for general ACL information. The man pages document getfacl, setfacl, chacl, and the ACL library interfaces.

The setfacl manual carries 2000 documentation copyright, while the acl(5) manual describes POSIX Access Control Lists as finer-grained discretionary access rights for files and directories. The official changelog tracks the modern package line from early 2.2 releases through later security, portability, and build-system work.

### Adoption history

acl is widely packaged because it exposes common filesystem administration tools rather than an application-specific workflow. The input facts list it in Homebrew, Debian, Ubuntu, Fedora/dnf, Alpine, Arch/pacman, Nix, and openSUSE/zypper.

Its package history follows the Unix pattern of small core utilities with man pages, C library APIs, and distribution integration, especially around getfacl/setfacl behavior, symlink handling, restore mode, translations, and filesystem semantics.

### How it is used

Typical use is administrative: getfacl prints ACLs, setfacl sets or restores ACLs, and chacl changes ACLs on files and directories.

Because ACL behavior is tied to filesystem support and Unix permissions, the package is usually used by scripts, sysadmins, packaging tests, and tools that need reproducible permission metadata.

### Why package nerds care

acl is package-nerd significant because it is small, old, security-sensitive system plumbing. A packaging error can affect backups, restores, permissions, and recursive filesystem operations.

It is also a classic example of Linux userland split into a library plus command-line tools, with man pages carrying much of the public interface contract.

### Timeline

- 2000: setfacl manual documentation copyright begins.
- 2002: acl(5) manual documentation copyright begins.
- 2003: Official changelog records acl 2.2.5 and related libacl changes.
- 2009: acl 2.2.48 fixes recursive symlink and restore behavior.
- 2021: acl 2.3.0 modernizes build infrastructure and hardens recursive operations.
- 2026: acl 2.4.0 changelog records security and robustness improvements.

### Related projects

- Related system components include Linux filesystems, POSIX permission bits, extended attributes, libacl, getfacl, setfacl, and chmod.

### Sources

- <https://git.savannah.nongnu.org/cgit/acl.git/plain/doc/CHANGES>
- <https://git.savannah.nongnu.org/cgit/acl.git/plain/man/man1/setfacl.1>
- <https://git.savannah.nongnu.org/cgit/acl.git/plain/man/man5/acl.5>
- <https://git.savannah.nongnu.org/cgit/acl.git/tree/README>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Debian apt - acl - 2.3.2-2+b1: normalized package name match | Debian stable package indexes: acl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | access control list - utilities | https://savannah.nongnu.org/projects/acl/
- Debian apt - libacl1 - 2.3.2-2+b1: normalized package name match | Debian stable package indexes: libacl1 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | access control list - shared library | https://savannah.nongnu.org/projects/acl/
- Debian apt - libacl1-dev - 2.3.2-2+b1: normalized package name match | Debian stable package indexes: libacl1-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | access control list - static libraries and headers | https://savannah.nongnu.org/projects/acl/
- Nix - acl: normalized package name match | nixpkgs package indexes: acl from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - acl - 2.3.2-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: acl from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | access control list - utilities | https://savannah.nongnu.org/projects/acl/
- Ubuntu apt - libacl1 - 2.3.2-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libacl1 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | access control list - shared library | https://savannah.nongnu.org/projects/acl/
- Ubuntu apt - libacl1-dev - 2.3.2-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libacl1-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | access control list - static libraries and headers | https://savannah.nongnu.org/projects/acl/
- apk - acl - 2.3.2-r1: normalized package name match | Alpine Linux edge package indexes: acl from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Access control list utilities | https://savannah.nongnu.org/projects/acl
- apk - acl-dev - 2.3.2-r1: normalized package name match | Alpine Linux edge package indexes: acl-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Access control list utilities (development files) | https://savannah.nongnu.org/projects/acl
- apk - acl-doc - 2.3.2-r1: normalized package name match | Alpine Linux edge package indexes: acl-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Access control list utilities (documentation) | https://savannah.nongnu.org/projects/acl
- apk - acl-libs - 2.3.2-r1: normalized package name match | Alpine Linux edge package indexes: acl-libs from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Access control list utilities (libraries) | https://savannah.nongnu.org/projects/acl
- apk - acl-static - 2.3.2-r1: normalized package name match | Alpine Linux edge package indexes: acl-static from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Access control list utilities (static library) | https://savannah.nongnu.org/projects/acl
- dnf - acl - 2.4.0-2.fc45: normalized package name match | Fedora Rawhide package metadata: acl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Access control list utilities | https://savannah.nongnu.org/projects/acl
- dnf - libacl - 2.4.0-2.fc45: normalized package name match | Fedora Rawhide package metadata: libacl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Dynamic library for access control list support | https://savannah.nongnu.org/projects/acl
- dnf - libacl-devel - 2.4.0-2.fc45: normalized package name match | Fedora Rawhide package metadata: libacl-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Files needed for building programs with libacl | https://savannah.nongnu.org/projects/acl
- pacman - acl - 2.4.0-1: normalized package name match | Arch Linux sync databases: acl from https://geo.mirror.pkgbuild.com/core/os/x86_64/core.db.tar.gz | Access control list utilities, libraries and headers | https://savannah.nongnu.org/projects/acl


## Combined YAML source

View the package source record on GitHub. [combined/acl.yml](https://github.com/mxcl/pkgdb/blob/main/combined/acl.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
