aboutsummaryrefslogtreecommitdiff
path: root/zh-cn/security/selinux/customize.html
diff options
context:
space:
mode:
Diffstat (limited to 'zh-cn/security/selinux/customize.html')
-rw-r--r--zh-cn/security/selinux/customize.html10
1 files changed, 5 insertions, 5 deletions
diff --git a/zh-cn/security/selinux/customize.html b/zh-cn/security/selinux/customize.html
index 58b17172..fa4414f2 100644
--- a/zh-cn/security/selinux/customize.html
+++ b/zh-cn/security/selinux/customize.html
@@ -54,7 +54,7 @@
<li>仅针对您向 Android 添加的内容调整 SELinux 政策。默认政策能够自动适用于 <a href="https://android.googlesource.com/">Android 开源项目</a>代码库。</li>
<li>将各个软件组件拆分成多个负责执行单项任务的模块。</li>
<li>创建用于将这些任务与无关功能隔离开来的 SELinux 政策。</li>
- <li>将这些政策放在 <code>/device/<var>manufacturer</var>/<var>device-name</var>/sepolicy</code> 目录下的 <code>*.te</code> 文件(SELinux 政策源代码文件的扩展)中,然后使用 <code>BOARD_SEPOLICY</code> 变量将其纳入到您的细分版本。</li>
+ <li>将这些政策放在 <code>/device/<var>manufacturer</var>/<var>device-name</var>/sepolicy</code> 目录下的 <code>*.te</code> 文件(te 是 SELinux 政策源代码文件使用的扩展名)中,然后使用 <code>BOARD_SEPOLICY</code> 变量将它们纳入到您的版本中。</li>
<li>先将新域设为宽容域。为此,可以在该域的 <code>.te</code> 文件中使用宽容声明。</li>
<li>分析结果并优化域定义。</li>
<li>当 userdebug 版本中不再出现拒绝事件时,移除宽容声明。</li>
@@ -227,7 +227,7 @@ audit_control setfcap</pre>
<h2 id="neverallow">neverallow 规则</h2>
-<p>SELinux <code>neverallow</code> 规则用于禁止在任何情况下都不应该发生的行为。通过<a href="/compatibility/cts/">兼容性</a>测试,现在会在各种设备上强制执行 SELinux <code>neverallow</code> 规则。</p>
+<p>SELinux <code>neverallow</code> 规则用于禁止在任何情况下都不应该发生的行为。通过执行<a href="/compatibility/cts/">兼容性</a>测试,现在各种设备上都会强制执行 SELinux <code>neverallow</code> 规则。</p>
<p>以下准则旨在协助制造商在自定义过程中避免出现与 <code>neverallow</code> 规则相关的错误。此处使用的规则编号与 Android 5.1 中使用的编号一致,并且会因版本而异。</p>
@@ -251,7 +251,7 @@ audit_control setfcap</pre>
<li><strong>system/sepolicy/public</strong>。其中包括所导出的用于供应商特定政策的政策。所有内容都会纳入 Android 8.0 <a href="/security/selinux/compatibility">兼容性基础架构</a>。公共政策会保留在不同版本上,因此您可以在自定义政策的 <code>/public</code> 中添加任何内容。正因如此,可存放在 <code>/public</code> 中的政策类型的限制性更强。将此目录视为相应平台的已导出政策 API:处理 <code>/system</code> 与 <code>/vendor</code> 之间的接口的所有内容都位于这里。</li>
<li><strong>system/sepolicy/private</strong>。包括系统映像正常运行所必需(但供应商映像政策应该不知道)的政策。</li>
<li><strong>system/sepolicy/vendor</strong>。包括位于 <code>/vendor</code> 但存在于核心平台树(非设备特定目录)中的组件的相关政策。这是编译系统区分设备和全局组件的软件工件;从概念上讲,这是下述设备专用政策的一部分。</li>
- <li><strong>device/<var>manufacturer</var>/<var>device-name</var>/sepolicy</strong>。包含设备专用政策,以及对政策进行的设备自定义(在 Android 8.0 及更高版本中,该政策对应于供应商映像组件的相关政策)。</li>
+ <li>device/manufacturer/device-name/sepolicy<strong></strong><var></var><var></var>。包含设备专用政策,以及对政策进行的设备自定义(在 Android 8.0 及更高版本中,该政策对应于供应商映像组件的相关政策)。</li>
</ul>
<h3 id="supported-policy-scenarios">支持的政策场景</h3>
<p>
@@ -301,7 +301,7 @@ audit_control setfcap</pre>
<strong>示例</strong>:添加新的非 AOSP HAL 以供无需 AOSP 模拟的客户端进程使用(因此,该进程需要自己的域)。
</p>
<p>
-与 <a href="#vendor-image-extensions-that-serve-extended-aosp-components">AOSP 扩展示例</a>类似,系统与供应商之间的互动政策必须位于供应商分区上的 <code>device/<var>manufacturer</var>/<var>device-name</var>/sepolicy</code> 目录中(以确保系统政策不知道与特定供应商有关的详细信息)。您可以在 <code>system/sepolicy/public</code> 中添加新的用于扩展该政策的公共类型;只能在现有 AOSP 政策的基础上进行添加,即不要移除 AOSP 公共政策。新添加的公共类型随后可用于 <code>system/sepolicy/private</code> 和 <code>device/<var>manufacturer</var>/<var>device-name</var>/sepolicy</code> 中的政策。
+与 <a href="#vendor-image-extensions-that-serve-extended-aosp-components">AOSP 扩展示例</a>类似,系统与供应商之间的互动政策必须位于供应商分区上的 <code>device/<var>manufacturer</var>/<var>device-name</var>/sepolicy</code> 目录中(以确保系统政策不知道与特定供应商相关的详细信息)。您可以在 <code>system/sepolicy/public</code> 中添加新的用于扩展该政策的公共类型;只能在现有 AOSP 政策的基础上进行添加,即不要移除 AOSP 公共政策。新添加的公共类型随后可用于 <code>system/sepolicy/private</code> 和 <code>device/<var>manufacturer</var>/<var>device-name</var>/sepolicy</code> 中的政策。
</p>
<p>
请注意,每次向 <code>system/sepolicy/public</code> 添加内容都会增加复杂程度,因为这会增加必须在映射文件中跟踪的新兼容性保证(会受到其他限制)。只有新类型和相关项允许在 <code>system/sepolicy/public</code> 中添加规则;属性和其他政策声明不受支持。此外,新的公共类型不能用于直接为 <code>/vendor</code> 政策中的对象添加标签。
@@ -321,6 +321,6 @@ audit_control setfcap</pre>
<strong>示例</strong>:对系统进程(AOSP 或非 AOSP)的更改必须更改它与新的非 AOSP 供应商组件进行互动的方式。
</p>
<p>
-在编写系统映像上的政策时必须对供应商独有的自定义不知情。因此,系统会通过 system/sepolicy/public 中的属性公开 AOSP 中涉及特定接口的政策,以便供应商政策可以选择启用将来使用这些属性的系统政策。不过,<strong><code>system/sepolicy/public</code> 中的属性扩展不受支持</strong>,因此指明系统组件与新供应商组件如何交互的所有政策(这些政策不通过 AOSP <code>system/sepolicy/public</code> 中已存在的属性进行处理)都必须位于 <code>device/<var>manufacturer</var>/<var>device-name</var>/sepolicy</code> 中。这意味着系统类型无法在仅针对框架的 OTA 中更改已为供应商类型授予的访问权限。</p>
+在编写系统映像上的政策时必须对供应商独有的自定义不知情。因此,系统会通过 system/sepolicy/public 中的属性公开 AOSP 中涉及特定接口的政策,以便供应商政策可以选择启用将来使用这些属性的系统政策。不过,<strong><code>system/sepolicy/public</code> 中的属性扩展不受支持</strong>,因此用于指明系统组件与新供应商组件之间交互方式的所有政策(这些政策不通过 AOSP <code>system/sepolicy/public</code> 中已存在的属性进行处理)都必须位于 <code>device/<var>manufacturer</var>/<var>device-name</var>/sepolicy</code> 中。这意味着系统类型无法在仅针对框架的 OTA 中更改已为供应商类型授予的访问权限。</p>
</body></html> \ No newline at end of file