SELinux domain_auto_trans()

SELinux domain_auto_trans()

Я пытаюсь получить информацию о функции 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, которые допускают другие варианты. Они могут использоваться приложением, поддерживающим безопасность.

Связанный контент