%20.png)
我正在嘗試獲取有關 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 規則。這些可以由具有安全意識的應用程式使用。