AppArmor配置文件语法说明

AppArmor策略通过配置文件创建,存储在/etc/apparmor.d/目录下,用于限制应用程序的资源访问。配置文件包括文件规则、帽子、能力规则等,通过路径匹配允许或拒绝访问。配置布局涉及全局设置、用户设置和特定目录。策略使用类似C的#include规则来共享文本段,允许细粒度的权限控制,如文件权限、网络和功能访问。AppArmor文件权限不同于DAC,提供额外的访问检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AppArmor策略是使用一种友好的配置文件语言创建的,然后将其编译为二进制策略以加载到内核中。

AppArmor策略存储在/etc/ AppArmor .d/目录下的一组文件中。

AppArmor策略被分成几个配置文件,这些配置文件通常被设计用来限制特定的应用程序。

配置文件将声明访问规则以允许对资源的访问,当配置文件中没有匹配的规则时,使用日志记录会隐式拒绝访问。

配置布局

AppArmor的配置设置存储在两个位置:

        全局设置和系统设置保存在/etc/apparmor/中;

        用户设置存储在${HOME}/.apparmor/中;

系统策略存储在/etc/apparmor. d/目录中,当实现用户策略时将存储在${HOME}/.apparmor.d/中(${APPARMOR.D}用于引用这两个目录)。

${APPARMOR.D}目录包含一组目录和配置文件。目录中的所有文件都被视为配置文件,除非它们符合以下任何一种模式,在这种情况下,这些文件将被忽略。

  • *~
  • *.bak
  • *.rpm*
  • *.dpkg-{bak,dist,new,old}

在${APPARMOR.D}下列目录有特殊意义:

  • ${APPARMOR.D}/abstractions/
  • ${APPARMOR.D}/apache2.d/
  • ${APPARMOR.D}/cache/- precompiled binary policy files
  • ${APPARMOR.D}/disable/- symlinks to profiles to disable
  • ${APPARMOR.D}/force-complain/- symlinks to profiles to set to complain mode
  • ${APPARMOR.D}/libvirt/
  • ${APPARMOR.D}/local/
  • ${APPARMOR.D}/namespaces/
  • ${APPARMOR.D}/pam/
  • ${APPARMOR.D}/tunables/

根据您的操作系统供应商和版本,您的系统可能有上述部分或全部目录。

配置文件

配置文件以配置文件的名称开头,后跟一个可选的flags字段,然后是:

一个开头 {

        后跟配置文件的规则,最后以结束

如果配置文件名称不以/开头,则应在前面加上关键字profile。例如:

/usr/bin/firefox {
    # profile contents
 }

 /usr/bin/firefox flags=(complain) {
    # profile contents
 }

 profile /usr/bin/ {
    # profile contents
 }

 profile user1 {
    # profile contents
 }

配置文件名称可以包含文件规则通配字符,以允许它们应用于多个可执行文件,请参阅文件通配(下面)了解详细信息。

注释

注释是行导向的,以#开始。在行尾跟随“#”的文本将被忽略(#include规则除外)。例如:

#  Comment 1
 #  Comment 2

 profile example {  # comment 3
    # comment 4
    /home/foo rw,  # comment at the end of a file rule
 }

Include Rules

策略文件可以包含其他文件来共享文本段。

AppArmor include遵循C include约定:

它们以#include开头,对于相对于集合包含目录的文本夹 ,后面跟着 < > ;相对于当前文件的文件,后面跟着 " "。

#是可选的,不应该在较新的配置文件中使用。例如:

 #include &l
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值