Firefox AppArmor 限制/允许什么?

Firefox AppArmor 限制/允许什么?

我知道 AppArmor 配置文件位于 中/etc/apparmor.d/,但我不知道如何解释它。任何翻译都会有所帮助。

答案1

其中唯一令人困惑的是代码以及你对它们的解释:

'r' 读
'w' 写
‘m’ 内存映射为可执行文件
‘k’ 文件锁定
'l' 创建硬链接
‘ix’ 执行并继承此配置文件
清理环境后,‘Px’在另一个配置文件下执行
'Ux' 清理环境后,不受限制地执行

文件的其余部分主要是目录、文件和库,有时前面会有一些参数(比如 PROC 和 HOME 看起来很容易理解)和正则表达式以使其更加灵活,有时在行前面会有一个“拒绝”或“所有者”(这些对我来说似乎是不言自明的:它们拒绝访问并限制操作,以防所有者执行这些操作)。

关于PROC:

例子:

# 用于网络
  网络 inet 流,
  网络inet6流,
  @{PROC}/[0-9]*/net/if_inet6 r,
  @{PROC}/[0-9]*/net/ipv6_route,

并做

/proc/ 目录
ls *

看到所有带数字的目录了吗?这些目录对应于每个正在运行的进程。如果其中任何一个包含目录netnetwork)并且其中包含文件if_net6ipv6_route它们被视为read

答案2

请参阅手册页中的Access ModesRule Qualifiers和 ......#include mechanism

man apparmor.d

手册页对此进行了非常详细的解释。关于您关于@{PROC}在包含文件中可以设置的变量的问题。从 apparmor.d(5) 手册页...

一些抽象依赖于/etc/apparmor.d/tunables/目录中文件中设置的变量。这些变量目前为 @{HOME}@{HOMEDIRS}。变量不能在配置文件范围内设置;只能在配置文件之前设置。因此,任何使用抽象的配置文件都应#include <tunables/global>确保在开始配置文件定义之前设置@{HOME}和。和实用程序将在生成的配置文件中自动发出。@{HOMEDIRS}aa-autodep(8)aa-genprof(8)#include <tunables/global>

如果你看一下,/etc/apparmor.d/tunables/global你会看到还有另一个#include <tunables/proc>。该文件的内容是......

# Copyright (C) 2006 Novell/SUSE... GNU GPLv2... more license info...
# @{PROC} is the location where procfs is mounted.
@{PROC}=/proc/

所以@{PROC}只是一个指向proc(5) 文件系统

相关内容