通过自动运行脚本使用 openssl 加密/解密文件

通过自动运行脚本使用 openssl 加密/解密文件

因此,我尝试使用 openssl 加密/解密文件。我通过安装 USB 时自动运行的脚本来运行它,并解密文件。但是,它工作得不太好,所以这里是我的步骤。

我使用以下方法加密文本文件...

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

然后我在 USB 上有一个脚本,它在安装时会自动运行。

自动运行

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

现在,当 USB 尝试运行它时它不起作用,但是如果我使用...从控制台运行它

./autorun.sh

它神奇地起作用了,我很好奇它有什么不同。我也尝试在交互模式下运行它,但这并没有解决我的问题。

答案1

不同之处可能在于执行的目录。也许(很可能)系统不是使用 来从挂载点内部执行它./autorun.sh,而是使用 之类的绝对路径从其他地方执行它/media/mykey/autorun.sh

为了使脚本在从不同目录执行时能够正常工作,使用绝对路径,请按如下方式编写:

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

不要通过拔下电源插头然后重新插入来进行测试,而是像这样进行测试:

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

如果此方法有效,那么很有可能在您拔下电源插头并重新插入后它仍能正常工作。

相关内容