我有一个 BitLocker 加密的外部硬盘,我经常在 Ubuntu 14.04 笔记本电脑上使用。每次连接硬盘时,我都必须输入以下四个命令:
sudo dislocker -r -V /dev/sdb1 -u -- /media/bitlocker
#Prompts to Enter unlock password
sudo -i
#Prompts to Enter root password
cd /media/bitlocker/
mount -o loop dislocker-file /media/mount
如何使用 shell 脚本或 python 脚本自动执行上述过程?我希望在提示时自动提供密码,并自动执行整个过程而无需任何密码提示。
我写了以下脚本:
echo 'unlock' | sudo dislocker -r -V /dev/sdb1 -u -- /media/bitlocker
echo 'rootpass' | sudo -i
cd /media/bitlocker/
mount -o loop dislocker-file /media/mount
我收到以下错误:
Enter the user password: Sun Jan 31 22:00:30 2016 [CRITICAL] None of the provided decryption mean is decrypting the keys. Abort.
*** Error in `dislocker': double free or corruption (!prev): 0x000055b27d7f86a0 ***
stdin: is not a tty
-bash: line 1: rootpass: command not found
mount: only root can do that
答案1
echo (unlock password) | sudo -S dislocker -r -V /dev/sdb1 -u -- /media/bitlocker
echo (root password) | sudo -S -i
cd /media/bitlocker/
mount -o loop dislocker-file /media/mount
在 gedit 中将其保存为 script.sh。在创建文件的目录中使用 chmod +x script.sh。运行脚本 --> ./script.sh
编辑:在 sudo 之后添加 -S