免安装直接体验:sudo-touchid一条curl命令快速启用TouchID的sudo
免安装直接体验:sudo-touchid一条curl命令快速启用TouchID的sudo
【免费下载链接】sudo-touchid Permanent TouchID support 👆 for `sudo`.项目地址: https://gitcode.com/gh_mirrors/sud/sudo-touchid
还在每次执行sudo时反复输入密码吗?sudo-touchid 是一款为 macOS 提供原生 TouchID 支持的开源小工具,让你在终端中使用sudo时直接按指纹即可通过认证,体验就像 Safari 输入密码时的指纹弹窗一样顺滑。它由纯 Bash 编写、零依赖、无需 Xcode 构建,最棒的是:不用克隆仓库、不用安装,一条 curl 命令就能立即体验 TouchID 的 sudo。
为什么需要 TouchID for sudo?
对 macOS 开发者来说,sudo是日常高频命令,但每执行一次就要敲一次管理员密码,非常打断心流。sudo-touchid 的核心价值:
- ⚡快:一条指纹替代整串密码
- 🪶轻:单文件 Bash 脚本,无需编译、无依赖
- 🔒稳:配置持久化,系统升级后依然有效
- 🧵兼容:支持 tmux/screen(通过
pam_reattach模块)
一条 curl 命令,免安装快速体验
打开终端,粘贴执行下面这一行命令即可:
curl -sL git.io/sudo-touch-id | sh它会在后台自动完成三件事:
- 下载脚本主文件 sudo-touchid.sh 并放置到
/usr/local/bin/sudo-touchid,赋予可执行权限 - 在
/Library/LaunchDaemons/写入 com.user.sudo-touchid.plist 守护进程配置(用于旧系统开机自愈) - 立即执行
sudo-touchid,把 TouchID 写入 sudo 配置
📌 不用担心,整个过程随时可逆:后面会介绍如何用一条命令完整移除。
安装后发生了什么?
sudo-touchid 会根据系统版本自动选择安全策略:
| 系统版本 | 行为 |
|---|---|
| macOS 14 及以上 | 新建/etc/pam.d/sudo_local并写入pam_tid.so,从不修改系统托管的/etc/pam.d/sudo |
| macOS 13 及以下 | 在/etc/pam.d/sudo顶部插入 TouchID 行,并自动备份为sudo.bak |
配置完成后,再次运行任意sudo命令,终端顶部就会弹出指纹认证窗口——按压 TouchID 即可,无需再键入密码。旧版配置还会被自动检测并迁移,避免冲突。
常用选项速查表
安装后直接运行sudo-touchid,也可带参数微调:
| 选项 | 作用 |
|---|---|
-v/--version | 查看当前安装版本 |
-d/--disable | 移除 sudo 的 TouchID 配置(回退原状) |
--with-reattach | 附加pam_reattach.so,适配 tmux/screen |
--migrate | 从旧版配置迁移到新方案 |
--verbose | 输出详细过程日志 |
-q/--quiet | 静默模式,仅显示错误 |
例如,如果你常在 tmux 里工作,建议:
sudo-touchid --with-reattach如何关闭 TouchID for sudo?
体验完想恢复纯密码认证?执行:
sudo-touchid -d脚本会先列出将被移除的配置项,等你按回车确认后才会真正删除,并保留备份文件,全程可逆、安全。
相关文件与文档
想深入了解实现细节,可以直接阅读仓库中的这些文件:
- sudo-touchid.sh:核心安装/卸载/迁移逻辑(v0.5)
- com.user.sudo-touchid.plist:launchd 守护进程描述文件
- docs/LEGACY_MACOS.md:macOS 13 及以下旧系统的完整安装说明
- Brewfile 与 Makefile:开发环境的依赖与 shellcheck 检查
常见问题
Q:所有 Mac 都能用吗?A:只要设备带 TouchID(Touch Bar 机型或 T2/Apple 芯片机型)即可。
Q:系统更新后配置会被清掉吗?A:macOS 14+ 采用独立的sudo_local文件,不受影响;旧系统由 launchd 守护进程在每次开机时自动修复,详见 docs/LEGACY_MACOS.md。
Q:想长期固定安装怎么办?A:可以克隆仓库https://gitcode.com/gh_mirrors/sud/sudo-touchid后,将sudo-touchid.sh手动保存为/usr/local/bin/sudo-touchid并加上执行权限。
一条 curl 命令,几秒钟体验指纹执行sudo的畅快——这就是 sudo-touchid 给你的效率升级 👆
【免费下载链接】sudo-touchid Permanent TouchID support 👆 for `sudo`.项目地址: https://gitcode.com/gh_mirrors/sud/sudo-touchid
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
