如何在终端上启用 Touch ID Mac 获取诸如“验证”之类的命令sudo’

了解如何使用您的 Mac的 Touch ID sudo 在 macOS 终端应用程序中发出命令,使您无需输入管理员密码。

对于陌生人: sudo 是 Mac 中可用的功能强大的 Unix 命令,是 Microsoft 的终端应用程序,允许您像超级用户一样进行系统级更改。

macOS Ventura 及更早版本中的非官方修复允许使用 Touch ID 身份验证 sudo 命令而不是 admin 密码。

这基本上是一种解决方法,但它有一个主要缺点:每次安装新的 macOS 版本时,都必须重新启用终端的 Touch ID。

macOS Sonoma 提供了面向未来的解决方案,可以在软件更新后继续存在。 让我们看看如何为终端启用和使用 Touch ID sudo 命令。

如何为“启用 Touch ID”sudo’ 终端命令

要为终端启用Touch ID身份验证,您需要复制以下内容 sudo_local.template 作为一个新文件并对其进行一些小更改。

  1. 开始 终端 从那 应用程序/实用程序 文件夹。 您还可以在 Spotlight 搜索或 Launchpad 中输入“终端”来快速查找并打开该应用程序。
  2. 将以下内容粘贴到终端中并按 键 Enter 钥匙。 此命令将终端的工作目录设置为系统文件夹,该文件夹存储有关 macOS 中可用可插入身份验证模块 (PAM) 的信息。
    cd /etc/pam.d
  3. 下一个副本 sudo_local.template 到一个名为 sudo_local 通过运行以下终端命令。 您必须输入管理员密码才能授权该命令,因为我们正在更改受保护的系统文件。
    sudo cp sudo_local.template sudo_local

  4. 最后,编辑 sudo_local 使用 macOS Monterey 12.3 及更高版本中内置的 Pico 命令行文本编辑器的配置文件:
    sudo pico sudo_local
  5. 我们现在将注释掉一行 sudo_local 为 Touch ID 启用可插入身份验证模块。 在 pico 编辑器中,使用箭头键转到包含以下内容的行 pam_tid.so 并删除开头的主题标签字符 (#)。
  6. 最后,按保存更改 控制 (⌃) – X 在键盘上,然后键入 并按下按钮 回来 按钮保存文件。

macOS 读取 sudo_local。 我们刚刚告诉操作系统可以使用 Touch ID 来授权需要管理员权限的终端命令。

如何使用 Touch ID 在终端中验证 sudo’

通过终端中的生物识别身份验证,您下次使用时会收到 Touch ID 提示 sudo 命令。 将手指放在 Mac 的指纹传感器上即可授权该命令,而无需输入管理员密码。

Touch ID 提示进行身份验证 sudo macOS 终端中的命令

如果您想输入密码,请单击 Enter 密码 在对话中。

身份验证的密码请求 sudo macOS 终端中的命令

但为什么有人想使用密码而不是指纹呢? 因为那些穿的人 Apple 如果手表配置为允许 macOS 身份验证请求,则单击此选项后可以使用它进行身份验证。

在旧版 macOS 上使用终端的 Touch ID

在 macOS 索诺玛中, sudo_local 软件更新后仍然有效,这意味着您只需为终端启用 Touch ID 一次即可使用。

但是,在 macOS Ventura 及更早版本上,您需要添加 auth sufficient pam_tid.so 第一行下方的行 sudo_local 为终端启用 Touch ID。 但正如我所说, sudo_local 不会持续更新,并且每次安装软件更新时都会被默认文件覆盖。

为终端迷提供的省时功能

感谢 Rachel Greenham 发现并传承了这种新方法 Mastodon丹·莫伦 (Dan Moren) 来自 六种颜色 确认它有效。

如果您认为自己是终端书呆子,那么这个技巧可以为您节省大量时间。

在终端中执行的许多操作都需要 sudo 更改系统文件的权限命令。 只需几分钟的时间和一些终端技巧,您就可以验证自己的身份 sudo 在您的终端命令中使用 Touch ID。