我希望在ubuntu 14.04上使用Luks进行全盘encryption。 不过,我希望利用我自己的python脚本来执行设备启动过程中生成解密密钥的function,然后发送给卢克斯以允许它解密。
理想情况下,我想从“Python脚本的结果”+“用户input解密密钥”,然后传递给卢克斯,让设备解密。 然后,我可以在python中实现我自己的function来创build“第二个因素”来允许设备解密。
我已经四处搜寻,但还没有真正find我的问题的答案。 你能帮忙或提供任何build议吗?
谢谢。
如果你对根文件系统使用全盘encryption,那么你将不得不解决Python解释器在启动时通常不可用的问题。 你将需要几兆字节的附加未encryption磁盘空间来存储例如/usr/bin/python2.7和/usr/lib/python2.7的一些重要内容,你将不得不对/boot/initrd为了使这个工作。
引导进程从initrd根目录调用/scripts/local-top/cryptroot 。 这通常称为工具plymouth ask-for-password --prompt 。 这用于在graphics用户界面启动之前向用户询问密码。 这个密码依次传送到cryptsetup中。
如果您仍然想继续使用这种方法,您可以/应该使用configuration文件/etc/initramfs-tools/中的configuration文件为您自己的cryptkeyscriptconfiguration一个新值,而不是cryptkeyscript脚本/usr/share/initramfs-tools/scripts/local-top/cryptroot直接。 这将使得操作系统分发更新的安装稍后变得不那么麻烦。
有关更多信息,请参阅软件包initramfs-tools,cryptsetup和plymouth的文档,并查看上面提到的shell脚本cryptroot 。