#linux #macos #shell #permissions #terminal
#linux #macos #оболочка #разрешения #терминал
Вопрос:
Я пытаюсь запустить процесс в своем терминале, но я не настолько доверяю приложению.
Есть ли способ запустить это приложение только с разрешением на чтение из выбранного каталога?
Я использую macOS.
Комментарии:
1. вы могли бы запустить его в
chroot
и как непривилегированный пользователь. это должно быть довольно экономично.
Ответ №1:
Как сказал knittl, вы можете использовать chroot
для создания jail
.
Для более сложных вещей у MAC есть MAC (имеется в виду OS X с обязательным контролем доступа), что позволяет указывать, какие процессы могут выполнять, а какие нет. Это реализовано с помощью sandbox
механизма, который является чрезвычайно мощным и детализированным.
вам нужно настроить изолированную среду, поэтому:
- песочница man
- man sandbox-exec
но это, к сожалению, не очень полезно;(
В принципе, вам нужно настроить профиль для изолированной среды. Примеры профилей находятся в /usr /share / sandbox /*.
Лучшее, что вы можете сделать, это поискать в Google «os x sandbox».
Как я уже говорил выше — здесь нет хороших документов, вероятно, потому, что в настоящее время это не на финальной стадии. 🙁 Вы можете поэкспериментировать с этим (особенно с режимом отладки). В любом случае, эти ссылки должны немного помочь:
Ваш случай достаточно прост (ИМХО), поэтому будет достаточно включить exec-process для вашей программы, разрешить чтение и запретить запись в регулярное выражение «/ *» (везде). Возможно, запретить сеть.
Я не эксперт по sanbox, поэтому ВЫ должны поэкспериментировать — но попробуйте начать с чего-то вроде:
(version 1)
(debug deny)
(allow default)
(allow process*)
(deny network*)
(allow file-read-data file-read-metadata (regex "^/.*"))
(deny file-write* (regex "^/.*"))
(import "bsd.sb")
итак, разрешите выполнение программ, запретите подключение к сети, разрешите чтение и запретите запись… Сначала ПРОТЕСТИРУЙТЕ!
Комментарии:
1. звучит здорово… Можете ли вы предоставить мне ссылку на руководство о том, потому что я искал, и я не нашел хорошего…