Como engenheiro de software e profissional de segurança cibernética, às vezes eu realmente preciso aumentar muitas máquinas ao mesmo tempo no meu computador.
Um fingindo ser uma vítima, outro fingindo ser o atacante, outro fingindo ser outra coisa ...
É muito difícil criar esse monte de máquinas manualmente usando o Docker ou até as máquinas virtuais.
Criei um script simples de bash que reconheça uma pasta como um machine directory .
Um machine directory é qualquer diretório que contenha um arquivo machine.config válido.
Pode ser o seu repositório Git, uma pasta aleatória, a pasta do projeto, não se encontra!
Se você possui este arquivo machine.config , este diretório será considerado um machine directory .
Portanto, para ter um monte de máquinas, você pode simplesmente criar vários arquivos de configuração e é isso , para alternar as máquinas, você pode entrar no diretório de máquina específico que deseja e executar os_connect , e um shell será aberto a você com estado persistente .
Para ver mais informações sobre a máquina, basta executar os_info .
E você terá uma saída como esta:
OS INFO
ID: d442817e2db23ed43084cd812c3ae1cddd02d7185c70ffe83d0ddf0cac281cc6
IMAGE: alpile:latest
STORAGE LOCATION: /tmp/d442817e2db23ed43084cd812c3ae1cddd02d7185c70ffe83d0ddf0cac281cc6/data
Agora, se você deseja se conectar à máquina, basta executar: os_connect e um shell serão abertos a você.
Não tenha medo de sair da sua máquina, seus dados serão persistidos no local de armazenamento , você precisa lembrar que esse código é executado sobre os contêineres do Docker.
Mas, e se eu quiser remover a máquina? Basta executar os_remove .
Você não acredita como é fácil.
name=alpine-os
image=alpine:latest
storage=/data
Sim, apenas essas três linhas!
O name da chave é um nome arbitrário para sua máquina, eu recomendo o padrão <os-system>-os . A image principal é o nome da imagem do sistema do Docker Hub. A chave storage é o caminho de volume da máquina para torná -lo persistente.
As configurações acima são as configurações necessárias para executar um sistema alpine .
Basta correr ./install.sh
Isso copiará o .machinesrc ao seu diretório inicial e adicionará a seguinte linha ao seu .bashrc :
source $HOME /.machinesrc