因此,我尝试使用 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
如果此方法有效,那么很有可能在您拔下电源插头并重新插入后它仍能正常工作。