我正在尝试获取有关 SELinux 中的 domain_auto_trans() 函数的信息。我尝试查看 SELinux 网页,但找不到该函数及其语法的明确定义。有人可以请我参考一个页面,其中为我提供了此功能及其用法的示例。
感谢您的帮助
答案1
您可以在以下位置找到有关此宏的文档RHEL4,红帽 SELinux 指南。请注意,有关此宏的部分已在指南的后续版本中消失。
域自动传输和域传输
当您希望特定转换成为域的默认转换行为时,请使用 core_macros.te 中的domain_auto_trans。它调用domain_trans()来完成实际的工作。如果您只想允许发生转换并使用 setexeccon() 处理上下文,则可以仅使用 domain_trans():
# domain_auto_trans(parent_domain, program_type, child_domain) define(`domain_auto_trans',` domain_trans($1,$2,$3) type_transition $1 $2:process $3; ')
domain_trans 宏允许父进程将一组典型的权限转换到新域。它设置了一些 dontaudit 规则,允许父进程执行程序,允许子进程获取新域并与父进程交换和使用文件描述,以及通过命名管道(FIFO)写回旧域)。最后,新域被授予读取和执行程序的权限,使程序成为域的入口点。
由于对于给定的一对类型,只有一个转换可以是默认值,因此您可以拥有一个domain_auto_trans 规则,后跟多个允许其他选项的domain_trans 规则。这些可以由具有安全意识的应用程序使用。