版本信息最后核对:2026-10-25
查看、启用和管理 FileVault 全盘加密,安全处理个人与机构恢复密钥。
FileVault 是 macOS 的内置全卷加密。启用后,系统会加密数据卷上的现有文件和后续写入,登录时用账户密码解锁,也可以用个人恢复密钥或机构恢复密钥恢复访问。Apple Platform Security 指出,在 Apple silicon 上密钥由 Secure Enclave 参与保护,系统卷还受签名系统卷(SSV)保护。另一个容易误解的点是:在 Apple silicon 和配备 T2 的 Mac 上,FileVault 关闭时 APFS 卷仍由硬件 UID 保护的密钥加密;较老的 Intel Mac 不能据此推断磁盘已加密。FileVault 增加的是“必须用用户凭据或恢复密钥才能解锁”的保护,因此不能因为关闭状态就认为所有 Mac 的数据都不可直接读取,也不能认为磁盘必然没有加密风险。
日常查询从 fdesetup status 开始,普通用户即可运行;-extended 会显示加密或解密进度以及粗略的剩余时间。fdesetup list 列出可解锁用户,-extended 还能看到用户类型和恢复密钥托管标记;fdesetup isactive 用退出码表达是否启用,适合脚本判断。个人恢复密钥(PRK)每个加密卷只有一份,启用时生成;机构恢复密钥(IRK)基于证书,证书的通用名必须是 FileVault Recovery Key,通常放在 /Library/Keychains/FileVaultMaster.keychain 中,也可用 -certificate 指向 DER 编码的证书文件。
启用方式分立即和延迟两类。立即启用需要可解锁用户的密码,并受安全令牌约束:Apple 官方部署文档说明,能解锁 FileVault 的用户需要安全令牌,Apple silicon 上还要求是卷所有者。延迟启用(-defer)把启用动作推到用户下次登录或注销时,适合批量部署;-forceatlogin 控制用户可取消的次数,-dontaskatlogout 关闭注销时的提示。启用完成前,MDM 可能一直把设备视为“等待配置”,所以排查时要同时看 fdesetup status、showdeferralinfo 和控制台状态。
机构密钥轮换要按“先验证、后替换、最后清理”的顺序做。无论用 MDM 的 RotateFileVaultKey 命令下发新证书,还是在测试机上执行 fdesetup changerecovery -institutional,旧机构密钥都会被新密钥替换。轮换前保留旧私钥的离线副本,确认新密钥能在测试机的恢复模式中解锁,并确认托管或密钥库已经收到新密钥,再逐批推广;在所有设备确认完成前不要销毁旧私钥。APFS 上部分旧私钥参数可能被系统忽略,但操作流程仍应保留回退材料。
恢复模式是最后的本地入口,但也有边界。Apple silicon 机型在恢复模式中提供“启动安全性实用工具”,Intel T2 机型有对应的启动安全性设置;降低启动安全策略会扩大可启动和可加载的软件范围,不应为了绕过某个提示随手修改。要访问加密的数据卷,通常仍需先解锁 FileVault,个人恢复密钥可在登录窗口或 recoveryOS 使用。机构密钥适合组织统一保管,但一旦私钥丢失且用户密码也不可用,设备上的数据同样无法恢复。
影响范围:
sudo fdesetup disable会关闭 FileVault 并解密数据卷,设备失去登录前加密保护;fdesetup remove -user会移除某个用户的解锁能力,若移除的是唯一可解锁用户,可能直接把自己锁在系统外;fdesetup removerecovery会删除个人或机构恢复密钥,丢失密码后将无法恢复数据;fdesetup authrestart会把解锁密钥暂存在内存和部分机型的 SMC 中,man page 明确提示这会降低 FileVault 保护。前置条件:先在测试机验证,准备 Time Machine 或其他独立备份,确认恢复密钥已离线保存或已被 MDM 托管并可读回,保留本地管理员和一个已知可用的解锁用户,机构私钥离线保管。恢复方式:重新启用 FileVault、用fdesetup add -usertoadd重新加入用户、用恢复密钥在登录窗口或 recoveryOS 解锁,然后从备份恢复;密钥一旦全部丢失,没有命令可以绕过。
# 1. 查看 FileVault 状态;-extended 显示加解密进度和估算时间
% fdesetup status
% fdesetup status -extended
# 2. 列出可解锁用户、用户类型与恢复密钥状态
% sudo fdesetup list -extended
% sudo fdesetup haspersonalrecoverykey
% sudo fdesetup hasinstitutionalrecoverykey
# 3. 在测试机启用 FileVault;恢复密钥输出到受控位置,托管后立即清理
% sudo fdesetup enable -outputplist > /secure/location/filevault.plist
# 4. 延迟启用:用户下次登录或注销时提示,3 次取消后必须启用
% sudo fdesetup enable -defer /var/tmp/filevault-defer.plist -forceatlogin 3
% sudo fdesetup showdeferralinfo
# 5. 增加可解锁用户;需要现有 FileVault 用户的密码或恢复密钥
% sudo fdesetup add -usertoadd alice
# 6. 更新机构恢复密钥;先在测试机按本机 man page 核对参数
% sudo fdesetup changerecovery -institutional -certificate /secure/new-irk.cer
# 7. 验证个人恢复密钥格式;输入内容不要留在命令历史
% sudo fdesetup validaterecovery
FileVault is Off. 就认为磁盘完全没有加密:在 Apple silicon 和 T2 Mac 上,APFS 卷仍由硬件 UID 保护的密钥加密,只是没有用户凭据保护;较老 Intel Mac 不能据此推断。正确结论是“尚未启用 FileVault”,应评估并启用,而不是一概认为数据必然可被直接读取。fdesetup showdeferralinfo 看剩余次数和策略,确认账户有安全令牌、在 Apple silicon 上是卷所有者,并检查 MDM 的 FileVault 配置是否要求托管后再结束等待。fdesetup list -extended 中的托管标记当成“服务器已经收到密钥”:man page 明确说明,即使密钥尚未成功发送到服务器,也可能显示 Yes。必须到 MDM 控制台或密钥管理系统核对,并确认设备已经签入。/Library/Keychains/FileVaultMaster.keychain 就以为机构密钥已配置:该文件存在只说明证书材料在机器上,不代表 FileVault 实际使用了 IRK。用 fdesetup hasinstitutionalrecoverykey 验证,再用 list -extended 或测试解锁确认。fdesetup add -usertoadd;不要为了“重置”随意 fdesetup remove -user。fdesetup authrestart 只适合受控维护窗口:它重启后跳过首次解锁,把解锁材料暂存于内存和部分机型的 SMC,man page 明确说明保护会暂时降低。维护结束应正常重启,并用 pmset destroyfvkeyonstandby 等策略避免密钥跨待机保留。security — 创建 FileVault 主钥匙串、管理证书与私钥。mdm — 托管 FileVault、用户批准与恢复密钥托管。csrutil — SIP 与启动安全策略的边界。diskutil — APFS 卷、加密状态与磁盘信息。tmutil — 启用或修改加密前完成可靠备份。合上页面,先回答,再展开对照。
fdesetup status 显示 FileVault 关闭,是否等于磁盘没有加密?应如何理解?fdesetup list -extended 显示恢复密钥已托管,但 MDM 控制台查不到密钥,可能是什么原因?Yes。应检查网络签入、MDM 的 FileVault 载荷和托管配置,并在服务器侧确认密钥记录,不能只信本地输出。
小程序版
微信扫码,随时查命令