В настоящее время я использую часть программного обеспечения для песочницы на моей машине 14.04, которая изолирует двоичные файлы Linux друг от друга (использование специального типа изоляции пространства имен, отличного от AppArmor)
В настоящее время способ вызова изолированной программы например:
/usr/local/bin/sandbox /path/to/binary --optional-arguments
Моя проблема в том, что я хочу вызывать определенные произвольные двоичные файлы и выполнять их в изолированной программной среде, не добавляя часть /usr/local/bin/sandbox к моей команде оболочки. Т.е.:
/usr/local/bin/sandbox /path/to/binary --optional-arguments --> *new process*
Становится:
/path/to/binary --optional-arguments --> *binfmt-misc* --> *new process*
Я полагал, что я мог бы легко сделать это благодаря binfmt-misc, однако после прочтения документации он, похоже, поддерживает запрос интерпретатор через магические биты в самом файле или через расширение файла. Поскольку в этом конкретном случае не снимается какая-либо из этих вещей, я искал опцию binfmt-misc, которая могла бы позволить мне указывать расширенные атрибуты в определенных двоичных файлах, которые я хочу запустить в песочнице, которую может прочитать binfmt-misc и использовать, чтобы определить, что эти двоичные файлы должны выполняться интерпретатором /usr/local/bin/sandbox. Тем не менее, мне еще предстоит найти такую функцию, которая позволила бы мне это сделать.
Есть ли способ, которым я могу добиться запуска произвольных двоичных файлов ELF без расширения, скомпилированного для той же архитектуры, что и мой компьютер с помощью песочницы автоматически?