ksphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/security/IMA-templatesmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget*/translations/zh_TW/security/IMA-templatesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget*/translations/it_IT/security/IMA-templatesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget*/translations/ja_JP/security/IMA-templatesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget*/translations/ko_KR/security/IMA-templatesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget*/translations/pt_BR/security/IMA-templatesmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget*/translations/sp_SP/security/IMA-templatesmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageChinese (Simplified)uh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhW/var/lib/git/docbuild/linux/Documentation/translations/zh_CN/security/IMA-templates.rsthKubhnote)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]h paragraph)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh5Documentation/translations/zh_CN/disclaimer-zh_CN.rsthKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh field_body)}(h)Documentation/security/IMA-templates.rst h]h)}(h(Documentation/security/IMA-templates.rsth]h(Documentation/security/IMA-templates.rst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h翻译h]h翻译}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhKubj)}(h.赵硕 Shuo Zhao h]h)}(h-赵硕 Shuo Zhao h](h赵硕 Shuo Zhao <}(hj4hhhNhNubh reference)}(hzhaoshuo@cqsoftware.com.cnh]hzhaoshuo@cqsoftware.com.cn}(hj>hhhNhNubah}(h]h ]h"]h$]h&]refuri!mailto:zhaoshuo@cqsoftware.com.cnuh1j<hj4ubh>}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj0ubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhsection)}(hhh](htitle)}(hIMA模板管理机制h]hIMA模板管理机制}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1johjlhhhhhK ubjk)}(hhh](jp)}(h介绍h]h介绍}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjhhhhhKubh)}(hX原始的 ``ima`` 模板是固定长度的,包含文件数据的哈希值和路径名。文件数据 哈希值限制为20字节(md5/sha1)。路径名是一个以空字符终止的字符串,长度限 制为255个字符内。 为了克服这些限制并添加额外的文件元数据,通过定义额外的模板来扩展当前版本 的IMA这是有必要的。例如,可能报告的信息包括索引节点的 UID/GID或索引节点 及访问它进程的LSM标签。h](h 原始的 }(hjhhhNhNubhliteral)}(h``ima``h]hima}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhX 模板是固定长度的,包含文件数据的哈希值和路径名。文件数据 哈希值限制为20字节(md5/sha1)。路径名是一个以空字符终止的字符串,长度限 制为255个字符内。 为了克服这些限制并添加额外的文件元数据,通过定义额外的模板来扩展当前版本 的IMA这是有必要的。例如,可能报告的信息包括索引节点的 UID/GID或索引节点 及访问它进程的LSM标签。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h然而,引入这个功能的主要问题是,每次定义一个新模板时,生成和显示度量列表 的函数都需要包含处理新格式的代码,因此,这些函数的规模随着时间的推移会 显著增长。h]h然而,引入这个功能的主要问题是,每次定义一个新模板时,生成和显示度量列表 的函数都需要包含处理新格式的代码,因此,这些函数的规模随着时间的推移会 显著增长。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hX.提出的解决方案通过将模板管理与其余IMA代码分离来解决这个问题。该解决方案 的核心是定义两个新的数据结构:一个是模板描述符,用于确定度量列表中应包含 哪些信息;另一个是模板字段,用于生成和显示给定类型的数据。h]hX.提出的解决方案通过将模板管理与其余IMA代码分离来解决这个问题。该解决方案 的核心是定义两个新的数据结构:一个是模板描述符,用于确定度量列表中应包含 哪些信息;另一个是模板字段,用于生成和显示给定类型的数据。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(hX使用这些结构管理模板非常简单。为了支持一种新的数据类型,开发人员定义字段 标识符,并实现两个函数,分别为init()和show(),用于生成和显示度量条目。 定义一个新的模板描述符需要通过 ``ima_template_fmt`` 内核命令行参数指定 模板格式(一个由 ``|`` 字符分隔的字段标识符字符串)。在启动时,IMA通过将格 式转换从支持的模板字段集合中选取模板字段数组,来初始化所选的模板描述符。h](h使用这些结构管理模板非常简单。为了支持一种新的数据类型,开发人员定义字段 标识符,并实现两个函数,分别为init()和show(),用于生成和显示度量条目。 定义一个新的模板描述符需要通过 }(hjhhhNhNubj)}(h``ima_template_fmt``h]hima_template_fmt}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh4 内核命令行参数指定 模板格式(一个由 }(hjhhhNhNubj)}(h``|``h]h|}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 字符分隔的字段标识符字符串)。在启动时,IMA通过将格 式转换从支持的模板字段集合中选取模板字段数组,来初始化所选的模板描述符。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hjhhubh)}(hXh在初始化步骤之后,IMA将调用 ``ima_alloc_init_template()`` (这是为新模板 管理机制所打补丁中定义的新函数),通过使用在内核配置选择的模板描述符或者新引 入的 ``ima_template`` 和 ``ima_template_fmt`` 内核命令行参数,生成一个新 的度量条目。在这一阶段,新架构的优势得以清晰展示:后一个函数将不会包含处理给 定模板的特定代码,而是简单地调用与所选模板描述符关联的模板字段的 ``init()`` 方法,并将结果(指向已分配数据的指针和数据长度)存储在度量条目结构中。h](h(在初始化步骤之后,IMA将调用 }(hjhhhNhNubj)}(h``ima_alloc_init_template()``h]hima_alloc_init_template()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh (这是为新模板 管理机制所打补丁中定义的新函数),通过使用在内核配置选择的模板描述符或者新引 入的 }(hjhhhNhNubj)}(h``ima_template``h]h ima_template}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 和 }(hjhhhNhNubj)}(h``ima_template_fmt``h]hima_template_fmt}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 内核命令行参数,生成一个新 的度量条目。在这一阶段,新架构的优势得以清晰展示:后一个函数将不会包含处理给 定模板的特定代码,而是简单地调用与所选模板描述符关联的模板字段的 }(hjhhhNhNubj)}(h ``init()``h]hinit()}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhf 方法,并将结果(指向已分配数据的指针和数据长度)存储在度量条目结构中。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK&hjhhubh)}(h相同的机制也用于显示度量条目。函数 ``ima[_ascii]_measurements_show()`` 会为 每个条目检索用于生成该条目的模板描述符,并为模板字段结构数组中的每一项调用show() 方法。h](h4相同的机制也用于显示度量条目。函数 }(hjVhhhNhNubj)}(h#``ima[_ascii]_measurements_show()``h]hima[_ascii]_measurements_show()}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjVubh 会为 每个条目检索用于生成该条目的模板描述符,并为模板字段结构数组中的每一项调用show() 方法。}(hjVhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK-hjhhubeh}(h]id1ah ]h"]介绍ah$]h&]uh1jjhjlhhhhhKubjk)}(hhh](jp)}(h!支持的模板字段和描述符h]h!支持的模板字段和描述符}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johj~hhhhhK4ubh)}(h下面是支持的模板字段列表 ``('': description)`` ,可以通过将其标识符 添加到格式字符串中用于定义新的模板描述符(后续将添加对更多数据类型的支持):h](h%下面是支持的模板字段列表 }(hjhhhNhNubj)}(h!``('': description)``h]h('': description)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh ,可以通过将其标识符 添加到格式字符串中用于定义新的模板描述符(后续将添加对更多数据类型的支持):}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK6hj~hhubh block_quote)}(hX)- 'd':事件的摘要(即测量文件的摘要),通过SHA1或MD5哈希算法计算; - 'n':事件的名称(即文件名),大小至多255字节; - 'd-ng':事件的摘要,通过任意哈希算法计算(字段格式::digest); - 'd-ngv2':与d-ng相同,但以"ima"或"verity"摘要类型为前缀 (字段格式:::digest); - 'd-modsig':不含附加modsig的事件摘要; - 'n-ng':事件的名称,没有大小限制; - 'sig':文件签名,基于文件的/文件系统验证的摘要[1],或EVM便携式签名, 如果'security.ima'包含文件哈希; - 'modsig':附加的文件签名; - 'buf':用于生成哈希的缓冲区数据,没有大小限制; - 'evmsig':EVM便携式签名; - 'iuid':索引节点的UID; - 'igid':索引节点的GID; - 'imode':索引节点的模式; - 'xattrnames':xattr名称的列表(由``|``分隔),仅当xattr存在时; - 'xattrlengths':xattr长度的列表(u32),仅当xattr存在时; - 'xattrvalues':xattr值的列表; h]h bullet_list)}(hhh](h list_item)}(hW'd':事件的摘要(即测量文件的摘要),通过SHA1或MD5哈希算法计算;h]h)}(hjh]h[‘d’:事件的摘要(即测量文件的摘要),通过SHA1或MD5哈希算法计算;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h>'n':事件的名称(即文件名),大小至多255字节;h]h)}(hjh]hB‘n’:事件的名称(即文件名),大小至多255字节;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h_'d-ng':事件的摘要,通过任意哈希算法计算(字段格式::digest);h]h)}(hjh]hc‘d-ng’:事件的摘要,通过任意哈希算法计算(字段格式::digest);}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h{'d-ngv2':与d-ng相同,但以"ima"或"verity"摘要类型为前缀 (字段格式:::digest);h]h)}(h{'d-ngv2':与d-ng相同,但以"ima"或"verity"摘要类型为前缀 (字段格式:::digest);h]h‘d-ngv2’:与d-ng相同,但以”ima”或”verity”摘要类型为前缀 (字段格式:::digest);}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h0'n-ng':事件的名称,没有大小限制;h]h)}(hj2h]h4‘n-ng’:事件的名称,没有大小限制;}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK?hj0ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h'sig':文件签名,基于文件的/文件系统验证的摘要[1],或EVM便携式签名, 如果'security.ima'包含文件哈希;h]h)}(h'sig':文件签名,基于文件的/文件系统验证的摘要[1],或EVM便携式签名, 如果'security.ima'包含文件哈希;h]h‘sig’:文件签名,基于文件的/文件系统验证的摘要[1],或EVM便携式签名, 如果’security.ima’包含文件哈希;}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK@hjGubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h#'modsig':附加的文件签名;h]h)}(hjah]h'‘modsig’:附加的文件签名;}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKBhj_ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hD'buf':用于生成哈希的缓冲区数据,没有大小限制;h]h)}(hjxh]hH‘buf’:用于生成哈希的缓冲区数据,没有大小限制;}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChjvubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h 'evmsig':EVM便携式签名;h]h)}(hjh]h$‘evmsig’:EVM便携式签名;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKDhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h'iuid':索引节点的UID;h]h)}(hjh]h"‘iuid’:索引节点的UID;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h'igid':索引节点的GID;h]h)}(hjh]h"‘igid’:索引节点的GID;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKFhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h"'imode':索引节点的模式;h]h)}(hjh]h&‘imode’:索引节点的模式;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKGhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hM'xattrnames':xattr名称的列表(由``|``分隔),仅当xattr存在时;h]h)}(hjh]hQ‘xattrnames’:xattr名称的列表(由``|``分隔),仅当xattr存在时;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKHhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hD'xattrlengths':xattr长度的列表(u32),仅当xattr存在时;h]h)}(hjh]hH‘xattrlengths’:xattr长度的列表(u32),仅当xattr存在时;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKIhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h&'xattrvalues':xattr值的列表; h]h)}(h$'xattrvalues':xattr值的列表;h]h(‘xattrvalues’:xattr值的列表;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]bullet-uh1jhhhK9hjubah}(h]h ]h"]h$]h&]uh1jhhhK9hj~hhubh)}(h-下面是已定义的模板描述符列表:h]h-下面是已定义的模板描述符列表:}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKMhj~hhubj)}(hX- "ima":其格式是 ``d|n`` ; - "ima-ng"(默认):其格式是 ``d-ng|n-ng`` ; - "ima-ngv2":其格式是 ``d-ngv2|n-ng`` ; - "ima-sig":其格式是 ``d-ng|n-ng|sig`` ; - "ima-sigv2":其格式是 ``d-ngv2|n-ng|sig`` ; - "ima-buf":其格式是 ``d-ng|n-ng|buf`` ; - "ima-modsig":其格式是 ``d-ng|n-ng|sig|d-modsig|modsig`` ; - "evm-sig":其格式是 ``d-ng|n-ng|evmsig|xattrnames|xattrlengths|xattrvalues|iuid|igid|imode`` ; h]j)}(hhh](j)}(h "ima":其格式是 ``d|n`` ;h]h)}(hjTh](h“ima”:其格式是 }(hjVhhhNhNubj)}(h``d|n``h]hd|n}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjVubh ;}(hjVhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKOhjRubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(h1"ima-ng"(默认):其格式是 ``d-ng|n-ng`` ;h]h)}(hj}h](h$“ima-ng”(默认):其格式是 }(hjhhhNhNubj)}(h ``d-ng|n-ng``h]h d-ng|n-ng}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh ;}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKPhj{ubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(h-"ima-ngv2":其格式是 ``d-ngv2|n-ng`` ;h]h)}(hjh](h“ima-ngv2”:其格式是 }(hjhhhNhNubj)}(h``d-ngv2|n-ng``h]h d-ngv2|n-ng}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh ;}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKQhjubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(h."ima-sig":其格式是 ``d-ng|n-ng|sig`` ;h]h)}(hjh](h“ima-sig”:其格式是 }(hjhhhNhNubj)}(h``d-ng|n-ng|sig``h]h d-ng|n-ng|sig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh ;}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKRhjubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(h2"ima-sigv2":其格式是 ``d-ngv2|n-ng|sig`` ;h]h)}(hjh](h“ima-sigv2”:其格式是 }(hjhhhNhNubj)}(h``d-ngv2|n-ng|sig``h]hd-ngv2|n-ng|sig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh ;}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKShjubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(h."ima-buf":其格式是 ``d-ng|n-ng|buf`` ;h]h)}(hj!h](h“ima-buf”:其格式是 }(hj#hhhNhNubj)}(h``d-ng|n-ng|buf``h]h d-ng|n-ng|buf}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubh ;}(hj#hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hA"ima-modsig":其格式是 ``d-ng|n-ng|sig|d-modsig|modsig`` ;h]h)}(hjJh](h “ima-modsig”:其格式是 }(hjLhhhNhNubj)}(h!``d-ng|n-ng|sig|d-modsig|modsig``h]hd-ng|n-ng|sig|d-modsig|modsig}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubh ;}(hjLhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKUhjHubah}(h]h ]h"]h$]h&]uh1jhjOubj)}(hh"evm-sig":其格式是 ``d-ng|n-ng|evmsig|xattrnames|xattrlengths|xattrvalues|iuid|igid|imode`` ; h]h)}(he"evm-sig":其格式是 ``d-ng|n-ng|evmsig|xattrnames|xattrlengths|xattrvalues|iuid|igid|imode`` ;h](h“evm-sig”:其格式是 }(hjuhhhNhNubj)}(hH``d-ng|n-ng|evmsig|xattrnames|xattrlengths|xattrvalues|iuid|igid|imode``h]hDd-ng|n-ng|evmsig|xattrnames|xattrlengths|xattrvalues|iuid|igid|imode}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjuubh ;}(hjuhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKVhjqubah}(h]h ]h"]h$]h&]uh1jhjOubeh}(h]h ]h"]h$]h&]j5j6uh1jhhhKOhjKubah}(h]h ]h"]h$]h&]uh1jhhhKOhj~hhubeh}(h]id2ah ]h"]!支持的模板字段和描述符ah$]h&]uh1jjhjlhhhhhK4ubjk)}(hhh](jp)}(h使用h]h使用}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjhhhhhK[ubh)}(hO要指定用于生成度量条目的模板描述符,目前支持以下方法:h]hO要指定用于生成度量条目的模板描述符,目前支持以下方法:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hjhhubj)}(hX'- 从内核配置所支持模板描述符中选择一个模板描述符( ``ima-ng`` 是默认选择); - 通过 ``ima_template=`` 参数从内核命令行指定模板描述符名称; - 通过内核命令行参数 ``ima_template_fmt=`` 注册一个具有自定义格式的新模板描述符。h]j)}(hhh](j)}(he从内核配置所支持模板描述符中选择一个模板描述符( ``ima-ng`` 是默认选择);h]h)}(hjh](hG从内核配置所支持模板描述符中选择一个模板描述符( }(hjhhhNhNubj)}(h ``ima-ng``h]hima-ng}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 是默认选择);}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK_hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hO通过 ``ima_template=`` 参数从内核命令行指定模板描述符名称;h]h)}(hjh](h通过 }(hjhhhNhNubj)}(h``ima_template=``h]h ima_template=}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh7 参数从内核命令行指定模板描述符名称;}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK`hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hk通过内核命令行参数 ``ima_template_fmt=`` 注册一个具有自定义格式的新模板描述符。h]h)}(hj)h](h通过内核命令行参数 }(hj+hhhNhNubj)}(h``ima_template_fmt=``h]hima_template_fmt=}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubh: 注册一个具有自定义格式的新模板描述符。}(hj+hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKahj'ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]j5j6uh1jhhhK_hjubah}(h]h ]h"]h$]h&]uh1jhhhK_hjhhubeh}(h]id3ah ]h"]使用ah$]h&]uh1jjhjlhhhhhK[ubeh}(h]imaah ]h"]ima模板管理机制ah$]h&]uh1jjhhhhhhhK ubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(joN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcehnj _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jijfj{jxjjjaj^u nametypes}(jij{jjauh}(jfjljxjjj~j^ju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jKsRparse_messages]transform_messages] transformerN include_log];Documentation/translations/zh_CN/security/IMA-templates.rst(NNNNta decorationNhhub.