1

我尝试创建自己的 linux bash 脚本,该脚本调用 truecrypt 进行挂载。作为选项,需要为 truecrypt 文件设置密码。我可以在 bash 脚本中执行此操作,但如果有人打开它,他们可以看到密码。该脚本稍后将自动运行。

我的问题:是否有一些安全的方法来隐藏/加密密码?

例子:

truecrypt --mount --password="testing" /home/username/test.tc /home/username/mount/

谢谢你的帮助!

4

2 回答 2

1

使用 SHC。它使用 RC4 加密 shell 脚本,并从可以运行的 shell 脚本中生成可执行的二进制文件。

下载 SHC(http://www.datsi.fi.upm.es/~frosal/) 并安装。

使用 "truecrypt --mount --password="testing" /home/username/test.tc /home/username/mount/" 创建一个 shell 脚本并将其保存为 "yourfilename.sh"。

现在,运行命令:

shc -f 你的文件名.sh

开关“-f”指定要加密的源脚本。上述命令将创建两个文件:yourfilename.sh.xc 和 yourfilename.sh.x。

程序“shc”从您的 shell 脚本中创建 C 源代码,然后对其进行加密(yourfilename.sh.xc)。加密的 shell 脚本是:yourfilename.sh.x。运行该二进制文件并执行您的命令:

./script.sh.x

于 2012-06-24T13:19:16.657 回答
0

没有人能够读取密码,就没有安全的方法来存储密码。您唯一的选择是使用用户权限来限制谁可以看到它。作为一种选择,您可以使脚本仅对其中包含密码的用户可读。另一种方法是让脚本从具有类似权限集的文件中读取密码(这只是为您提供了更新脚本等的更大灵活性)。

最终,尽管任何管理员/超级用户都可以读取该文件,所以这不是您可以安全地做的事情。大多数人建议的事情是让脚本自动运行并提供一个 GUI 供用户输入密码。这些根据您的分布而有所不同,但它们通常在那里。

于 2012-06-24T12:58:12.810 回答