Как я могу запускать локальные приложения через firejail?

Возможно, вы могли бы использовать промежуточную переменную, например, такую

​:%s/Tom/XX9G235a65/g​ :%s/Jerry/Tom/g :%s/XX9G235a65/Jerry/g
5
04.09.2017, 22:31
2 ответа

Firejail, безусловно, должен иметь возможность делать это из коробки, и я сам использую его таким образом. Попробуйте запустить firejail bashи проверьте, видит ли он исполняемые файлы, о которых идет речь. Кроме того, operaможет быть сценарием оболочки, который настраивает среду и запускает другой двоичный файл, который оказывается скрытым с помощью firejail.

1
27.01.2020, 20:43

Документация по firejail доступна здесь . К сожалению, он не очень всеобъемлющий и больше похож на руководство пользователя.

Ответ от L29Ah предоставил мне достаточно информации, чтобы понять, как это сделать, но, к сожалению, в ответе нет полезных примеров и дополнительной информации. Поэтому я постараюсь ответить на все вопросы и показать несколько реальных способов сделать это.

  • Есть ли профиль для локальных приложений? При просмотре исходного кода firejail извлекает имя команды из первого аргумента в командной строке, которую вы указываете для запуска, следующим образом :сначала усекает строковое значение этого аргумент в первом найденном символе пробела, а затем удаляет все ведущие компоненты каталога в пути. Таким образом, команда 'firejail /home/me/various/"commandName commandNameSecondWord" будет искать профиль с именем "commandName.profile". Нет никакой специальной обработки для программ, которые запускаются из-под $HOME по сравнению с системным каталогом, таким как /usr/bin. Также можно обойти все это, используя один или несколько параметров «--profile=...» в командной строке.
  • Нужно ли редактировать, отключить -common.profile? Нет. Во-первых, я не рекомендую редактировать этот файл, так как он включен в другие профили firejail. Во-вторых, у меня не было проблем с запуском моей конкретной локальной программы даже с включенным этим файлом. В-третьих,если каким-то образом что-то в этом файле является проблемой, тогда вам следует написать собственный профиль, который его не включает, и если вам все равно нужны некоторые его части, просто скопируйте их в свой собственный профиль.
  • Просто выбрать папку, отличную от ~/bin/? Нет, это сложнее.
  • Есть ли в CL возможность разрешить папки? Да, есть много способов сделать это. Однако обычно вы пишете профиль для конкретной программы, которую запускаете, и помещаете ее в $HOME/.config/firejail. «Быстрый и грязный» аргумент командной строки, которого может быть достаточно, это «--private -home=...», который может копировать файлы и каталоги верхнего -уровня в вашу файловую систему песочницы. Обратите внимание, что размер копируемых файлов ограничен 500 МБ, и копирование файлов замедлит запуск изолированного приложения.
  • Как запустить локальные приложения через firejail? Этот вопрос носит общий характер, так как для каждого приложения может потребоваться своя конфигурация (вся причина, по которой firejail поставляется с целой библиотекой профилей из коробки ), и конфигурация зависит от того, как именно вы хотите ограничить приложение (или нет ). Однако мне удалось запустить мое приложение, установив его в каталог верхнего уровня -в моем домашнем каталоге с именем $HOME/.local _fj и добавив «private -home.local _fj» в пользовательский профиль команд (ограничение в 500 МБ, упомянутое выше, по-прежнему применяется ). Другой возможностью может быть использование «белого списка ${HOME}/.local _fj/programInstallDir». В любом случаеубедитесь, что любые команды «noexec» не блокируют выполнение программы из каталога, в котором она находится. (Примечание. :Я не являюсь опытным пользователем firejail. ---Почти наверняка существуют другие способы сделать это, с которыми я не знаком.)
0
27.01.2020, 20:43

Теги

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