AA-ENABLED(1)

๐Ÿ’… AA-ENABLED โ€” ok so is AppArmor even on bestie

From the AppArmor manual, section 1 (1 = user commands, iykyk). Yes this is aa-enabled, and yes she is a whole vibe check for your kernel. ๐Ÿฆ‹


โœจ NAME โœจ

aa-enabled โ€” literally just checks whether AppArmor is enabled. That's it. That's the whole job. ๐Ÿ‘‘


๐ŸŒธ SYNOPSIS ๐ŸŒธ

aa-enabled [options]

๐Ÿ’– DESCRIPTION ๐Ÿ’–

So here's the tea: aa-enabled is used to determine if AppArmor is enabled. She's not installing anything, she's not fixing anything, she's not judging you (ok maybe a little). She just looks. ๐Ÿ”โœจ


๐ŸŽ€ OPTIONS ๐ŸŽ€

aa-enabled accepts the following arguments:

  • -h, --help โ€” prints a brief usage guide. Slay, short and sweet. ๐Ÿ’…
  • -q, --quiet โ€” do not output anything to stdout. Ngl this one is for the scripts, bestie: it's intended to be used by scripts that simply want to use the exit code to determine if AppArmor is enabled. Silent but the exit code speaks for her. ๐Ÿคซ
  • -x, --exclusive โ€” require AppArmor to have exclusive access to shared LSM interfaces to be considered enabled. Like, sharing is caring but AppArmor said no thanks, she needs the whole interface to herself or it doesn't count. ๐Ÿ”ฅ

โญ EXIT STATUS โญ

Upon exiting, aa-enabled will set its exit status to the following values. Yes we're going there, every single number, no skipping, this is the important part fr fr:

  • 0 โ€” if AppArmor is enabled. ๐ŸŽ‰ iconic. we love to see it.
  • 1 โ€” if AppArmor is not enabled/loaded. ๐Ÿ’€ it's giving off.
  • 2 โ€” intentionally not used as an aa-enabled exit status. Like, that number is reserved somewhere else, mind your business. ๐Ÿ™ˆ
  • 3 โ€” if the AppArmor control files aren't available under /sys/kernel/security/. ๐Ÿ˜ญ where did they GO.
  • 4 โ€” if aa-enabled doesn't have enough privileges to read the apparmor control files. bestie needs permission. ๐Ÿฅบ
  • 10 โ€” AppArmor is enabled but does not have access to shared LSM interfaces. so close yet so far. ๐Ÿซ 
  • 64 โ€” if any unexpected error or condition is encountered. chaos. unexpected condition?? in MY kernel?? ๐ŸŒˆ
lowkey memorize 0 and 1, highkey check the rest in your scripts. your exit codes are your main character moment. ๐Ÿ‘‘

๐Ÿ› BUGS ๐Ÿ›

If you find any bugs, please report them at <https://gitlab.com/apparmor/apparmor/-/issues>. Please, she wants to know. Do not suffer in silence, drop the link, file the issue. ๐Ÿซถ


๐ŸŒˆ SEE ALSO ๐ŸŒˆ


That's the whole page, bestie, no notes. This was AppArmor 6.0.0~alpha1, dated 2026-10-05, from the aa-enabled(1) page in the AppArmor manual. Go run aa-enabled -q in a script and let the exit code do the talking. periodt. ๐Ÿ’œโœจ

๐Ÿ“ฆ where this page comes from