36 使用 YaST 构建和管理配置文件 #
YaST 提供了用于构建配置文件以及管理 AppArmor® 配置文件的基本途径。它提供了两个界面:一个图形界面和一个基于文本的界面。基于文本的界面消耗的资源和带宽更少,因此,需要进行远程管理或者当本地图形环境不够方便时,基于文本的界面是更好的选择。尽管这两个界面的外观不同,但它们以类似的方式提供相同的功能。另一种方法是使用 AppArmor 命令,这些命令可以从终端窗口或通过远程连接控制 AppArmor。第 37 章 “从命令行构建配置文件”中介绍了命令行工具。
从主菜单中启动 YaST,并在出现提示时输入 root
口令。或者,通过打开终端窗口,以 root
身份登录,然后输入 yast2
(表示图形模式)或 yast
(表示基于文本的模式)来启动 YaST。
AppArmor YaST 模块。
部分显示了一个 图标。单击该图标可启动36.1 手动添加配置文件 #
AppArmor 允许您通过手动向配置文件添加项的方式来创建 AppArmor 配置文件。选择要为其创建配置文件的应用程序,然后添加项。
启动 YaST,选择
,然后在主窗口中单击 。浏览系统以找到要创建配置文件的应用程序。
找到应用程序后,选择它并单击
。 窗口中将出现一个空的基本配置文件。在 第 36.2.1 节 “添加项”、第 36.2.2 节 “编辑项”或第 36.2.3 节 “删除项”来添加、编辑或删除 AppArmor 配置文件项。
中,通过单击对应的按钮并参考完成后,单击
。
36.2 编辑配置文件 #
YaST 提供针对 AppArmor 配置文件的基本操作,例如创建或编辑配置文件。不过,最直接的编辑 AppArmor 配置文件的方式是使用 vi
这样的文本编辑器:
>
sudo
vi /etc/apparmor.d/usr.sbin.httpd2-prefork
vi
编辑器还包含语法(错误)高亮显示和语法错误高亮显示功能,当编辑后的 AppArmor 配置文件存在语法错误时,它会以视觉方式发出警告。
AppArmor 允许您通过添加、编辑或删除项来手动编辑 AppArmor 配置文件。要编辑配置文件,请执行以下操作:
启动 YaST,选择
,然后在主窗口中单击 。在已构建配置文件的应用程序列表中,选择要编辑的配置文件。
单击
。此时 窗口会显示配置文件。在 第 36.2.1 节 “添加项”、第 36.2.2 节 “编辑项”或第 36.2.3 节 “删除项”来添加、编辑或删除 AppArmor 配置文件项。
窗口中,通过单击对应的按钮并参考完成后,单击
。在出现的弹出窗口中,单击AppArmor 配置文件集。
以确认对配置文件所做的更改,然后重新加载
AppArmor 包含语法检查功能,如果您尝试使用 YaST AppArmor 工具处理的配置文件中存在任何语法错误,它会发出通知。如果发生错误,请以 root
身份手动编辑配置文件,然后使用 systemctl reload
apparmor
重新加载配置文件集。
36.2.1 添加项 #
AppArmor 配置文件的项类型。
中的 按钮会列出您可以添加到在列表中选择以下选项之一:
- 文件
在弹出窗口中,指定文件的绝对路径,包括允许的访问类型。完成后,单击
。必要时,您可以使用通配。有关通配的详细信息,请参见第 34.6 节 “配置文件名称、标志、路径和通配”。有关文件访问权限的详细信息,请参见第 34.7 节 “文件权限访问模式”。
- 目录
在弹出窗口中,指定目录的绝对路径,包括允许的访问类型。必要时,您可以使用通配。完成后,单击
。有关通配的详细信息,请参见第 34.6 节 “配置文件名称、标志、路径和通配”。有关文件访问权限的详细信息,请参见第 34.7 节 “文件权限访问模式”。
- 网络规则
在弹出窗口中,选择适当的网络系列和套接字类型。有关更多信息,请参见第 34.5 节 “网络访问控制”。
- 功能
在对话窗口中,选择适当的功能。这些语句用于启用 32 个 POSIX.1e 功能。有关功能的详细信息,请参见第 34.4 节 “功能项 (POSIX.1e)”。完成选择后,单击 。
- Include 文件
在弹出窗口中,浏览到要用作 include 的文件。Include 是可提取其他 AppArmor 配置文件的组件以简化配置文件的指令。有关更多信息,请参见第 34.3 节 “Include 语句”。
- 帽子
在弹出窗口中,指定要添加到当前配置文件的子配置文件(帽子)的名称,然后单击 。有关更多信息,请参见第 38 章 “使用 ChangeHat 构建 Web 应用程序的配置文件”。
36.2.2 编辑项 #
选择
时,会打开一个弹出窗口。请在此窗口中编辑选定的项。在弹出窗口中,编辑需要修改的项。必要时,您可以使用通配。完成后,单击
。有关通配的详细信息,请参见第 34.6 节 “配置文件名称、标志、路径和通配”。有关访问权限的信息,请参见第 34.7 节 “文件权限访问模式”。
36.2.3 删除项 #
要删除给定配置文件中的项,请选择AppArmor 将去除选定的配置文件项。
。36.3 删除配置文件 #
AppArmor 允许您手动删除 AppArmor 配置文件。只需选择要删除其配置文件的应用程序,然后按如下所示删除:
启动 YaST,选择
,然后在主窗口中单击 。选择要删除的配置文件。
单击
。在打开的弹出窗口中,单击AppArmor 配置文件集。
以删除该配置文件,然后重新加载
36.4 管理 AppArmor #
可以通过启用或禁用 AppArmor 来更改其状态。启用 AppArmor 可保护您的系统抵御潜在的程序漏洞攻击。禁用 AppArmor 将解除对系统的保护,即使已设置了配置文件。要更改 AppArmor 的状态,请启动 YaST,选择 ,然后在主窗口中单击 。
要更改 AppArmor 的状态,请按照第 36.4.1 节 “更改 AppArmor 状态”中所述继续操作。要更改单个配置文件的模式,请按照第 36.4.2 节 “更改单个配置文件的模式”中所述继续操作。
36.4.1 更改 AppArmor 状态 #
更改 AppArmor 的状态时,请将其设置为已启用或已禁用。启用 AppArmor 后,系统将安装并运行 AppArmor,并强制执行其安全策略。
启动 YaST,选择
,然后在主窗口中单击 。选中AppArmor,或取消选中该选项以禁用 AppArmor。
以启用单击
窗口中的 。
对于正在运行的程序,一律需要将其重启动才能应用配置文件。
36.4.2 更改单个配置文件的模式 #
AppArmor 可在两种不同的模式下应用配置文件。在控诉模式下,会检测对 AppArmor 配置文件规则的违规,例如构建了配置文件的程序访问配置文件不允许的文件。冲突是允许的,但也会被记录。使用此模式便于开发配置文件,AppArmor 工具用其来生成配置文件。在强制模式下加载配置文件会强制执行该配置文件中定义的策略,并在 rsyslogd
(或者 auditd
或 journalctl
,具体取决于系统配置)中报告策略违规尝试。
您可在AppArmor 配置文件的模式。在开发配置文件期间,可以使用此功能来确定系统的状态。在系统性配置文件构建(请参见第 37.7.2 节 “系统性配置文件构建”)期间,您可以使用此工具来调整和监控您正在探测其行为的配置文件的范围。
对话框中查看和编辑当前加载的要编辑应用程序的配置文件模式,请执行以下操作:
启动 YaST,选择
,然后在主窗口中单击 。在
部分,选择 。选择要更改其模式的配置文件。
选择控诉模式或强制模式。
以将此配置文件设置为应用您的设置,然后单击
退出 YaST。
要更改所有配置文件的模式,请使用
或 。默认只会列出活动的配置文件(系统上安装了其匹配应用程序的配置文件)。要在安装相关应用程序之前设置配置文件,请单击
,然后从显示的列表中选择要配置的配置文件。