Создайте один нестабильный контейнер на соединение ssh и удалите его после выхода из соединения - PullRequest
0 голосов
/ 13 февраля 2019

Я создаю вызов CTF и хочу, чтобы у каждого участника был свой собственный контейнер Docker, чтобы они не мешали друг другу.Контейнер должен работать с CMD cron -f как root , а у пользователя должна быть оболочка с user1 .

Я изменил оболочку по умолчанию, чтобы вместо нее запускать скрипт, изапустить команду docker, чтобы запустить оболочку в новом контейнере.Я уже следую этому уроку .Но я не помогаю мне найти способ запуска cron от имени root и оболочки с привилегированным пользователем в одном контейнере.

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

Вотскрипт, который запускается при инициализации SSH-соединения:

#!/bin/bash

trap '' 2

echo "Initiating connection..."
container=$(docker run -d --rm my_container:latest)

echo "Connection started!"
docker exec -it -u user1 $container '/bin/bash'

echo "Closing connection..."
docker stop $container >> /dev/null

Как мне решить эту задачу?Более того, я бы знал, есть ли другой случай, когда я забыл, где пользователь мог оставить свой сеанс без удаления контейнера.Или даже полностью избежать этого сценария.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...