2

我正在尝试涉足一些 bash shell 脚本,如果可能的话,我想拥有一个我想自动化的正常功能。场景如下:

我有一个使用 aes 256 加密的外部硬盘驱动器,我使用以下命令安装它,我只将此驱动器用作只读设备,我试图自动化的过程是密码输入。我已将驱动器密码保存到一个纯文本文件中(我知道,我知道这违背了 aes 磁盘加密的目的,但这是我唯一的外部驱动器,它运行良好,我不需要获得一个新的只是为了转储数据并解密数据)我正在尝试找到一种方法来使用我的纯文本文件自动插入密码。我是 shell 编程的新手,并认为这很简单,但事实证明这很令人头疼。

mount -r -t ntfs-3g /dev/sdc1 /mnt/crypto/ -oencryption=aes-256

我知道您可以使用命令将其放入 fstab 并进行如下设置:

/dev/sdc1    /mnt/crypto    ntfs-3g    ro,noauto,encryption=aes-256    0 0

这是我的平面文本文件的样子:

cat /mountpasswd.txt

12345

当您对该加密驱动器使用 mount 命令时,您会得到以下信息:

mount -r -t ntfs-3g /dev/sdc1 /mnt/crypto/ -oencryption=aes-256
Password:

然后你输入你的密码并安装你的卷。我尝试了 txt 文件的简单命令行重定向,但没有成功?

mount -r -t ntfs-3g /dev/sdc1 /mnt/crypto/ -oencryption=aes-256 | < /mountpasswd.txt
Password:

mount -r -t ntfs-3g /dev/sdc1 /mnt/crypto/ -oencryption=aes-256 < /mountpasswd.txt
Password:

这些命令中的任何一个仍然提供相同的密码提示。下面是我编写的小 bash 脚本,用于创建一个后台运行循环,以感知何时卸载驱动器,然后重新安装以自动插入密码,我也喜欢将其作为后台程序运行。

./mountencntfs.sh &

!#/bin/bash -ebx

while false
do
mount -r -t ntfs-3g /dev/sdc1 mnt/crypto -oencryption=aes-256
0 < /mountpasswd.txt

exit 0

如果有人有一些有用的提示或参考资料,请提前致谢。

4

0 回答 0