Criptografando / descriptografando um arquivo usando o openssl através de um script de execução automática

3

Então, estou tentando criptografar / descriptografar um arquivo usando o openssl. Estou executando-o através de um script que é executado automaticamente quando eu montar um USB e descriptografa o arquivo. No entanto, isso não funciona muito bem, então aqui estão os meus passos.

Eu criptografo o arquivo de texto usando ...

openssl aes-256-cbc -salt -in file.txt -out file.txt.en -pass pass:123

Eu, então, tenho um script no usb, que é executado automaticamente quando montado.

autorun.sh

#!/bin/sh
openssl aes-256-cbc -in file.txt.en -out file.txt -d -pass pass:123

Agora, não funciona quando o USB tenta executá-lo, no entanto, se eu o executar a partir do console usando ...

./autorun.sh

Magicamente funciona e estou curioso para saber qual é a diferença. Eu também tentei executá-lo no modo interativo e isso não resolveu meu problema.

    
por user243636 23.09.2014 / 01:58

1 resposta

1

A diferença pode ser o diretório do qual é executado. Talvez (provavelmente) o sistema o execute não de dentro do ponto de montagem com ./autorun.sh , mas de algum outro lugar usando um caminho absoluto como /media/mykey/autorun.sh .

Para fazer o script funcionar quando executado a partir de um diretório diferente, usando caminho absoluto, escreva assim:

#!/bin/sh
cd "$(dirname "$0")"
openssl aes-256-cbc -in file.txt.en -out file.txt -d -pass pass:123

Em vez de testar isso desconectando e reconectando, teste assim:

cd /tmp
/path/to/mount/point/autorun.sh

Se isso funcionar, há uma boa chance de funcionar depois que você desconectar e reconectar.

    
por 26.12.2014 / 18:32