如何在使用密码/密钥文件登录后在 OSX 上自动挂载 TrueCrypt 卷

如何在使用密码/密钥文件登录后在 OSX 上自动挂载 TrueCrypt 卷

我想做以下事情:

I. 登录我的帐户后,我希望 OSX 使用密码或密钥文件自动安装我的 2 个卷(位于通过 FW800 连接的同一外部硬盘上)。我不希望看到任何有关管理员密码或卷密码的提示,因为我已经设置了帐户密码。

问题 1:我该如何实现这一点?有没有什么脚本可以下载或复制?

问题2:我是否必须使用密钥文件或可以使用密码让 OSX 自动挂载卷?

附加问题:在这种情况下,使用密码与密钥文件的优缺点是什么?

以供参考:

我目前使用的是 OSX 10.8.3,我的 OSX 将通过 FileVault2 加密。

我不太担心任何密钥文件或密码存储在我的 OSX 上,因为它们将被加密。我将使用双重身份验证,使用我记得的密码登录我的帐户,并使用 Yubikey 来输入其余密码。所以这将是一个非常安全的密码。强调文字

我不是技术人员,所以我需要易于理解的说明和或多或少的复制粘贴脚本:)

谢谢!

答案1

首先在“卷工具”>“更改卷密码”中让卷使用密钥文件和空密码。然后保存如下属性列表~/Library/LaunchAgents/truecrypt.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>truecrypt</string>
    <key>ProgramArguments</key>
    <array>        
        <string>bash</string>
        <string>-c</string>
        <string>diskutil list | grep -Fq ' *1.1 GB ' &amp;&amp; exit # an asterisk indicates that the volume is mounted
disk=$(diskutil list | awk '/ 1.1 GB /{print $NF}')
[[ $disk ]] || exit
/Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt --mount /dev/$disk -k ~/path/to/keyfile -p ''</string>
    </array>
    <key>StartOnMount</key>
    <true/>
</dict>
</plist>

更改1.1 GB为 显示的卷的大小diskutil list。可能有更好的方法来识别卷,但例如diskutil info /dev/disk1s4没有显示我测试的卷的 UUID。

launchctl load ~/Library/LaunchAgents/truecrypt.plist然后通过运行或注销并重新登录来启用代理。您必须卸载并加载 plist 才能对其应用更改。

注意事项:

  • truecrypt登录后第一次运行该命令时,它会要求输入管理员帐户的密码,即使以 root 身份运行也是如此。如果您频繁注销或重新启动,一段时间后这可能会变得很烦人。
  • 当任何卷被挂载时,都会触发 launchd 作业,因此如果您卸载 TrueCrypt 卷(但保持外部驱动器连接)并挂载其他卷,则 TrueCrypt 卷会再次被挂载。

或者你能用 FileVault 加密卷吗?如果你选中“在我的钥匙串中记住此密码”,只要登录钥匙串解锁,卷就会自动安装。

这也意味着,如果登录钥匙串被解锁,其他有权访问您计算机的人就可以看到密码,例如security find-generic-password -l "My FileVault volume" -w


编辑:在上面的例子中,我使用密钥文件和空密码并没有什么特别的原因。要使用密码而不使用密钥文件,请替换TrueCrypt --mount /dev/$disk -k ~/path/to/keyfile -p ''为例如TrueCrypt --mount /dev/$disk -p pa55word。或者替换pa55word"$(security find-generic-password -l "My TrueCrypt volume" -w)"并使用 Keychain Access 为密码添加钥匙串项:

相关内容