ОСТРОВНОЙ

Учебник: первая песочница

Запустим ненадёжный скрипт в изолированном окружении: без сети, с двумя каталогами на вход и одной папкой на выход.

Идея

Островной оборачивает запуск команды в изолированное окружение: корень ФС — минимальный, сеть выключена, процессы и файлы живут и умирают вместе с запуском. Никаких контейнерных образов — окружение описывается файлом профиля.

Первый запуск

$ ostrovnoy run --profile minimal -- ./suspicious.sh
[островной] mount: /          (ro, tmpfs)
[островной] mount: /work      (rw, /tmp/oisland-4821)
[островной] net: off
[островной] pid-namespace: on
скрипт завершился: код 0, 2.1с

Скрипт видел только /work (его выход) и системный минимум. После завершения /work остаётся в /tmp/oisland-4821 — можно осмотреть, что скрипт сделал.

Что видел скрипт

РесурсДоступ
Файловая систематолько /work (rw) и системный ro-минимум
Сетьвыключена целиком
Другие процессыне видит (pid-namespace)
Домашний каталогне монтировался

Дальше