我试图涉足一些bash shell脚本,并且如果可能的话,我想要自动化的正常功能。方案如下:
我有一个带有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
如果有人提供了一些有用的提示或参考资料,请提前感谢。