Cria pasta temporária para sessão ssh somente no Ubuntu

1

Existe uma maneira de conseguir isso no Ubuntu:

  1. Quando a sessão ssh para algumas máquinas é iniciada, a pasta especial X é criada na memória dessa máquina.
  2. O conteúdo da pasta X e a capacidade de interagir com ela são concedidos apenas a esta sessão de terminal, ninguém mais pode saber que ela existe. Mesmo o mesmo usuário, que se conecta a esta máquina usando outra sessão ssh, não a vê daquela sessão (ele vê outra instância daquela pasta para sua sessão ssh).
  3. Quando a sessão termina de qualquer forma (normalmente ou abruptamente), o conteúdo de uma pasta é automaticamente excluído para sempre e não pode ser recuperado por ninguém.

Se exatamente isso não for possível, sugira a solução mais próxima possível.

    
por user3231055 09.11.2018 / 15:21

1 resposta

1
XDIR=/tmp/X_$RANDOM ; RCMD="export V1=$XDIR ; mkdir -p \$V1; trap \"[ -d \$V1 ] && rm -rf \$V1\" EXIT " ; ssh -t user@rhost  "$RCMD ;  \${SHELL}"

< < este onliner feio vai fazer isso

Aqui ele é dividido em partes e explicado:

1. XDIR=/tmp/X_$RANDOM ;
2. RCMD="
2a.      export V1=$XDIR ; 
2b.      mkdir -p \$V1; 
2c.      trap \"[ -d \$V1 ] && rm -rf \$V1\" EXIT " ;
3. ssh -t user@rhost  "$RCMD ;  \${SHELL}"
  1. Uma variável de ambiente local para conter o caminho da pasta X a ser criado no host remoto. Aleatorizado para evitar colisão com outras sessões, você também pode usar $ USER ou timestamp ou o que for além ou em vez de RANDOM, por exemplo, / tmp / someprefix _ $ {USER} _ $ {RANDOM}
  2. Uma variável de ambiente local para conter instruções a serem executadas no host remoto. 2a. Env remoto. variável V1 var para passar o valor XDIR local para o ambiente do host remoto. 2b. Criação da pasta remota X 2c. argumento trap é uma instrução a ser feita em sinais EXIT, que inclui HUP. Significa que a pasta X será removida na saída normal ou na quebra de sessão.
  3. Conecte-se ao servidor usando as instruções preparadas primeiro e, em seguida, inicie o SHELL remoto. Você pode especificar explicitamente, por exemplo / bin / bash.
por 10.11.2018 / 16:37

Tags