Как запустить Java-приложение в ограниченном SELinux-домене?

Скрипт оболочки является исполняемой программой. Вот почему type говорит, что он является таковым. Сценарий оболочки является такой же исполняемой командой, как и сценарий perl, сценарий python, собственный исполняемый файл ELF, кросс-архитектурный исполняемый файл, выполняемый Qemu через механизм binfmt_misc Linux, и т.д. Любой исполняемый файл является исполняемой командой, неважно, какой интерпретатор он использует.

Как видно из моего списка примеров, грань между "сценарием" и "не сценарием" нечеткая: любой исполняемый файл, начинающийся с shebang, является сценарием, но есть исполняемые файлы, которые не являются ни родным кодом, ни сценариями.

Когда вы выполняете программу, язык, на котором она написана, не имеет значения. Поэтому type не имеет смысла сообщать вам об этом. Работа type заключается только в том, чтобы сказать вам, к какому типу команд она относится с точки зрения shell.

Сценарий оболочки - это не то же самое, что функция. Функция выполняется внутри оболочки и может изменять ее окружение. Сценарий оболочки - это отдельная программа; эта отдельная программа может быть написана на том же языке, что и программа, которую вы сейчас запускаете, но это просто совпадение.

0
21.10.2018, 04:21
1 ответ

bin_t— это тип файла, а не домен процесса. Процесс входит в ограниченный домен через точку входа , которая часто представляет собой исполняемый файл, помеченный типом файла точки входа, например httpd_exec_tдля демона httpd.

Точки входа определяются в политике. Если у вас есть политика, которая определяет домен процесса, она, вероятно, также определяет точку входа. Пометьте исполняемый скрипт (и т. д. ), который вы используете для запуска приложения, с правильной меткой точки входа.

2
28.01.2020, 02:41

Теги

Похожие вопросы