告别密码!用 Mugshot 实现 Mac 终端 sudo 人脸解锁

发布于 更新于
1
2

阿喵前言

对于常常在终端(Terminal)里打交道的开发者和极客朋友们来说,sudo 命令绝对是使用频率最高的操作之一。但每次提权都要老老实实敲一遍系统密码,或者伸长手指去摸键盘右上角的 Touch ID,确实少了一丝极客该有的优雅。

今天阿喵给童鞋们安利一个硬核又好玩的 macOS 原生菜单栏小工具——Mugshot。它能让你的 Mac 瞬间拥有像 iPhone 一样的“人脸解锁”体验:只需在终端输入 sudo,摄像头扫一眼你的脸,权限瞬间解锁!

项目介绍

Mugshot 是一款原生 macOS 菜单栏应用,旨在为 Mac 的 sudo 终端提权引入本地人脸识别解锁功能。

它的诞生源于一个有趣的周末 Hackathon 项目,如今已演变成一款成熟、小巧且功能完备的开箱即用软件。应用自带引导式人脸注册、设置面板,并在每次触发提权时提供面容、Touch ID 与密码等多种验证方式。最重要的是,它经过了 Apple 官方的签名和公证,并且所有图像与人脸特征提取计算全都在本地运行,绝无任何数据离开你的 Mac

⚠️ 阿喵的安全提醒

作者明确声明 Mugshot 是一个偏极客玩乐性质的趣味项目,而非高安全级的防伪产品。普通 RGB 摄像头可能存在被高清打印照片欺骗的风险。不过它的 PAM 规则采用了“充分条件(Sufficient)”机制,密码永远作为底层备用方案,绝不会因为卸载应用或识别失败而导致你被锁在系统外

截图演示

功能特色

  • 真正的刷脸提权:终端输入 sudo 自动唤醒摄像头,人脸比对成功秒级通过,解锁过程一气呵成。
  • 100% 本地隐私防护:利用本地 YuNet 与 SFace 算法进行人脸检测与特征值映射,嵌入数据仅加密保存在本地 ~/Library/Application Support/faceid 中,零云端依赖,绝对私密。
  • 原生签名与公证:完全遵循 macOS 规范,由 Apple 签名公证,首次打开无安全警告风险,界面纯粹优雅。
  • 无痛备用机制:如果摄像头没扫到或者匹配失败,系统会自动无缝回退到原生的 Touch ID 或键盘密码输入,保障使用稳定性。

使用教程

步骤 1:下载与安装

下载软件的 .dmg 安装包,将 Mugshot 图标直接拖入“应用程序”文件夹中。

步骤 2:录入你的面部特征

  1. 从应用程序中启动 Mugshot,系统顶部菜单栏会出现一个可爱的小脸部图标。
  2. 点击图标,选择 Set Up My Face(设置我的脸)
  3. 允许软件调用 Mac 摄像头的权限,跟随引导提示眨眨眼、扫一扫,几秒钟即可完成本地人脸特征注册。

步骤 3:为 sudo 启用人脸解锁

打开菜单中的“设置”,勾选 Enable Face ID for sudo(为 sudo 启用 Face ID)。因为现代 macOS 系统对 sudo 提权文件的修改极为严格,你需要完成以下两次一次性授权:

  1. 允许后台辅助程序:在系统弹出提示时,前往“系统设置 -> 通用 -> 登录项”,将 Mugshot 的后台辅助项目设为开启状态。
  2. 授予完全磁盘访问权限:macOS 将 sudo PAM 配置文件置于系统保护下,需要在“系统设置 -> 隐私与安全性 -> 完全磁盘访问权限”列表中,勾选启用 MugshotHelper
  3. 返回软件重新开启开关即可。

步骤 4:体验刷脸提权

打开终端(Terminal),运行任意需要管理员权限的命令(如强制刷新测试):

Bash

sudo -k && sudo true

此时屏幕会短暂弹出识别面板,摄像头捕捉到你的面孔后瞬间完成 sudo 提权!

工作原理

由 root 权限启动的 sudo 进程在 macOS 底层由于 TCC 隐私保护机制,默认是无法直接访问摄像头的。

Mugshot 巧用了一个小型 PAM 模块,当你在终端触发 sudo 时,PAM 会把请求传递给一个运行在当前用户会话中的守护进程。该进程接管摄像头,使用 YuNet 快速定位人脸,再通过 SFace 算法将你的面部特征转换为本地向量模型,并与之前注册的特征进行对比。比对成功即输出 PAM 验证通过,整个过程高效且丝滑。

项目获取

常见问题(FAQ)

Mugshot 的人脸数据会上传到云端吗?
不会。所有人脸特征提取和比对均在本地完成,数据加密存储在本地,绝不离开你的 Mac。
如果人脸识别失败怎么办?
系统会自动回退到 Touch ID 或键盘密码输入,确保你永远不会被锁在系统外。
如何卸载 Mugshot?
只需从应用程序文件夹删除 Mugshot,并在 sudo 配置中移除相关 PAM 模块即可,不会残留。
2 讨论
热门最新
总结
暂无总结

设置过程稍微有点复杂,需要给完全磁盘访问权限,但成功后体验很棒,识别速度很快。阿喵的教程很贴心!

这个太方便了!作为开发者,每天要 sudo 无数次,现在终于可以刷脸了,而且完全本地处理,隐私有保障。

0 / 600

资源获取

正在发生

最新事件奖励滚动播报

LIVE0
暂无可展示的事件