---
name: "aa-enabled"
section: "1"
platform: "linux"
package: "apparmor"
version: "4.1.8-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/aa-enabled"
---

# aa-enabled(1)

test whether AppArmor is enabled

## NAME

aa-enabled - test whether AppArmor is enabled

## SYNOPSIS

**aa-enabled** \[options\]

## DESCRIPTION

**aa-enabled** is used to determine if AppArmor is enabled.

## OPTIONS

**aa-enabled** accepts the following arguments:

- \-h, --help

  Display a brief usage guide.

- \-q, --quiet

  Do not output anything to stdout. This option is intended to be used by scripts that simply want to use the exit code to determine if AppArmor is enabled.

- \-x, --exclusive

  Require AppArmor to have exclusive access to shared LSM interfaces to be considered enabled.

## EXIT STATUS

Upon exiting, **aa-enabled** will set its exit status to the following values:

- **0**

  if AppArmor is enabled.

- **1**

  if AppArmor is not enabled/loaded.

- **2**

  intentionally not used as an **aa-enabled** exit status.

- **3**

  if the AppArmor control files aren't available under /sys/kernel/security/.

- **4**

  if **aa-enabled** doesn't have enough privileges to read the apparmor control files.

- **10**

  AppArmor is enabled but does not have access to shared LSM interfaces.

- **64**

  if any unexpected error or condition is encountered.

## BUGS

If you find any bugs, please report them at \<https://gitlab.com/apparmor/apparmor/-/issues\>.

## SEE ALSO

[**apparmor**(7)](/apparmor/7.md), [**apparmor.d**(5)](/apparmor.d/5.md), **aa\_is\_enabled**(2), and \<https://wiki.apparmor.net\>.
