Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 053

AppArmor

AppArmor 是什么?

AppArmor基于路径的 Linux 强制访问控制系统,Ubuntu 和 SUSE 用其作为 SELinux 的简化替代方案,用于限制单个程序。


AppArmor 是一种 Linux Security Module,通过基于文件路径、capabilities 与网络原语的每程序配置文件来实施强制访问控制,而非 SELinux 使用的 inode 标签。它源自 Immunix,由 SUSE 与 Canonical 维护,自 2000 年代后期起成为 Ubuntu 与 openSUSE 默认的 MAC 框架。配置文件位于 /etc/apparmor.d,可加载为 enforce 或 complain 模式,并配套 aa-genprof、aa-logprof、aa-easyprof 等工具。基于路径的设计通常比 SELinux 策略更易编写与审计,代价是对重命名、bind mount 与 chroot 的语义较弱。AppArmor 被 snapd、libvirt、LXD、Firefox 及众多发行版软件包使用。

示例

  1. 01

    Ubuntu 默认提供 Firefox、MySQL、Evince 的 AppArmor 配置文件。

  2. 02

    snapd 使用 AppArmor(配合 seccomp)隔离每个已安装的 snap。

常见问题

AppArmor 是什么?

基于路径的 Linux 强制访问控制系统,Ubuntu 和 SUSE 用其作为 SELinux 的简化替代方案,用于限制单个程序。 它属于网络安全的 密码学 分类。

AppArmor 是什么意思?

基于路径的 Linux 强制访问控制系统,Ubuntu 和 SUSE 用其作为 SELinux 的简化替代方案,用于限制单个程序。

AppArmor 是如何工作的?

AppArmor 是一种 Linux Security Module,通过基于文件路径、capabilities 与网络原语的每程序配置文件来实施强制访问控制,而非 SELinux 使用的 inode 标签。它源自 Immunix,由 SUSE 与 Canonical 维护,自 2000 年代后期起成为 Ubuntu 与 openSUSE 默认的 MAC 框架。配置文件位于 /etc/apparmor.d,可加载为 enforce 或 complain 模式,并配套 aa-genprof、aa-logprof、aa-easyprof 等工具。基于路径的设计通常比 SELinux 策略更易编写与审计,代价是对重命名、bind mount 与 chroot 的语义较弱。AppArmor 被 snapd、libvirt、LXD、Firefox 及众多发行版软件包使用。

如何防御 AppArmor?

针对 AppArmor 的防御通常结合技术控制与运营实践,详见上方完整定义。

AppArmor 还有哪些其他名称?

常见的别称包括: AA。

相关术语

参见