%20.png)
Estou tentando obter informações sobre a função domain_auto_trans() no SELinux. Tentei procurar nas páginas do SELinux, mas não consegui encontrar uma definição clara da função e sua sintaxe. Alguém pode me indicar uma página onde me dá um exemplo dessa função e seu uso.
Obrigado pela ajuda
Responder1
Você pode encontrar documentação sobre esta macro noRHEL4, Guia Red Hat SELinux. Observe que a seção sobre esta macro desapareceu nas versões subsequentes do guia.
domínio_auto_trans e domínio_trans
Quando você quiser que uma transição específica seja o comportamento de transição padrão para um domínio, use domain_auto_trans, de core_macros.te. Ele chama domain_trans() para fazer o trabalho real. Se você deseja apenas permitir que uma transição ocorra e lidar com o contexto com setexeccon(), você pode usar apenas um 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; ')
A macro domain_trans permite que o pai processe um conjunto típico de permissões para fazer a transição para o novo domínio. Ele define algumas regras dontaudit, permite que o processo pai execute o programa, permite que o filho colha o novo domínio e troque e use descrições de arquivo com o processo pai, bem como escreva de volta para o domínio antigo por meio de um pipe nomeado (FIFO ). Finalmente, o novo domínio recebe permissão para ler e executar o programa, tornando o programa o ponto de entrada do domínio.
Como apenas uma transição pode ser o padrão para um determinado par de tipos, você pode ter uma regra domain_auto_trans seguida por diversas regras domain_trans que permitem outras opções. Eles podem ser usados por um aplicativo com reconhecimento de segurança.