![OSX 自动解锁并在单独分区上挂载加密用户帐户](https://linux22.com/image/1456687/OSX%20%E8%87%AA%E5%8A%A8%E8%A7%A3%E9%94%81%E5%B9%B6%E5%9C%A8%E5%8D%95%E7%8B%AC%E5%88%86%E5%8C%BA%E4%B8%8A%E6%8C%82%E8%BD%BD%E5%8A%A0%E5%AF%86%E7%94%A8%E6%88%B7%E5%B8%90%E6%88%B7.png)
我正在使用带有 OSX Yosemite 的可启动闪存驱动器、单个管理员帐户和多个用户帐户(出于测试目的,当我让其正常工作时将迁移到 MacBook)。我正在尝试找到一种方法来保证每个个人帐户之间的隐私/安全,不受外部影响。我已启用 filevault2,因此安装驱动器时需要密码。
事实证明,任何能够安装该驱动器(使用 filevault 解锁)的人都可以将闪存驱动器带到另一台具有管理员访问权限和禁用权限的计算机。由于只有一个帐户能够解锁驱动器对我来说不切实际,所以我需要找到一种方法来保护每个帐户免受彼此的影响。(包括来自管理员、非 root 帐户)
通过阅读指南,我找到了一种将每个用户的主目录放在单独分区上的方法。我想我可以利用这种方法使用加密分区创建额外的访问控制点。
例如:http://lnx2mac.blogspot.com/2010/09/moving-os-x-users-to-separate-partition.html
但是,加密这些分区给我带来了一些不必要的副作用。我使用上面的指南进行设置,编辑 /etc/fstab,在闪存驱动器上单独的加密分区上设置用户主目录。不幸的是,登录这些帐户时出现了一个小问题。由于驱动器在桌面 GUI 加载后提示之前未解密和安装,因此在我解锁、安装、注销并重新登录后,才会加载正确的桌面(出现 /Applications 文件夹内容)。
有没有办法解决这个问题,这样我就不必在任何地方硬编码密码了?我读过关于尝试使用 launchd 来完成“类似”任务的文章,但我不确定如何在单独的分区上对所有帐户使用登录密码。我对使用启动守护程序还很陌生,所以如果这是解决方案的一部分,请提供尽可能多的详细信息。(我尝试检查“将密码保存到钥匙串”选项,但它不起作用,可能是因为主目录在要安装的分区上已加密。)
注意事项:如果可能的话,我尝试不使用非本地工具或软件来实现这一点。到目前为止,所有加密都是使用 filevault 和 diskutil 完成的。
简而言之:解锁并挂载包含单个用户主目录的加密分区,无需注销并重新登录即可查看正确的桌面。此外,如果您不能假设管理员(非 root)帐户不会尝试利用它来获取访问权限,那么使用钥匙串是否安全?
答案1
您可能能够使用旧版 FileVault(又名 FileVault 1)实现您想要的功能。它基于将用户的主文件夹存储在加密磁盘映像中(使用用户的登录密码加密),并在登录时自动挂载它。在此模式下设置的每个用户都会获得自己的加密容器,并使用自己的密码。
但顾名思义,它不再完全受支持;自 FileVault 2 在 OS X v10.7 中首次亮相以来,使用 FV1 加密的帐户仍然可以使用,但不支持设置新的 FV1 帐户。但你可以伪造它。我找到了一组说明在 lab.maiux.com描述如何手动伪造帐户的 FV1 加密。它们是为 OS X Lion (10.7) 编写的,但从评论来看,它们至少在更高版本中也有效。我没有测试过它们,所以我不能做出任何承诺。不过,我可以给你一些警告:
首先备份所有重要内容!在设置 FV1 后继续备份(并确保你确实备份了你需要的内容)。当你在闪存驱动器上测试它时,它完全有可能完美运行,但在你真正尝试它时却灾难性地失败。加密的磁盘映像也容易因系统崩溃等而损坏;损坏的映像可能会使你的整个主文件夹无法恢复。
正如我所说,目前这项功能还未得到充分支持,Apple 可能会决定在某个时候停止允许登录 FV1 帐户。我还没有听说(或测试过)10.11 测试版是否仍支持该功能。