%20.png)
Я пытаюсь получить информацию о функции domain_auto_trans() в SELinux. Я пытался искать на веб-страницах SELinux, но не смог найти четкого определения функции и ее синтаксиса. Может ли кто-нибудь указать мне страницу, где приведен пример этой функции и ее использования.
Спасибо за вашу помощь
решение1
Документацию по этому макросу можно найти вRHEL4, руководство Red Hat SELinux. Обратите внимание, что раздел об этом макросе исчез в последующих версиях руководства.
домен_авто_транс и домен_транс
Если вы хотите, чтобы определенный переход был поведением перехода по умолчанию для домена, используйте domain_auto_trans из core_macros.te. Он вызывает 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, которые допускают другие варианты. Они могут использоваться приложением, поддерживающим безопасность.