SELinux domain_auto_trans()

SELinux domain_auto_trans()

我正在尝试获取有关 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 规则。这些可以由具有安全意识的应用程序使用。

相关内容