如何在 Mac OS 上使用 Touch ID 验证 sudo

在 Mac 上使用 Touch ID sudo

如果您有配备 Touch Bar 的 MacBook Pro,并且经常使用命令行,您可能会喜欢一个技巧,它允许您使用 Touch ID 来验证 sudo 和 su,而不是 在终端中输入密码,就像某种数字尼安德特人。

一个值得注意的问题(或权衡)是,如果您使用 SSH 连接 Mac 启用此功能后,您将无法使用 sudo,因为 Touch ID 不会传输。然而,在 High Sierra 的测试版中可能会更改混合报告。

无论如何,如果您是配备触控栏和触控 ID 的 Mac 的高级 Mac 用户,可以按照以下方法启用触控 ID 以支持 sudo 身份验证。这真的不适用于新手用户或那些没有在命令行上花费大量时间使用 sudo 进行身份验证的用户,并且因为这涉及编辑系统文件,所以最好在开始之前备份您的 Mac过程。

如何在 Mac 上为 sudo 使用 Touch ID

开始前备份您的 Mac。从终端(当然),您需要通过向其中添加新行来编辑 /etc/pam.d/sudo。出于我们的目的,我们将使用 nano,但您可以自由使用 vim 或 emacs,如果您愿意,甚至可以使用 GUI 应用程序。

  1. 如果您尚未打开终端应用程序,请打开它,然后输入以下命令:
  2. sudo nano /etc/pam.d/sudo

  3. 按 Return 键,然后将以下行添加到顶部:
  4. auth sufficient pam_tid.so

  5. 使用 Control+O 保存编辑,然后使用 Control+X 退出 nano
  6. 允许 Touch ID 进行 sudo 身份验证在 Mac 上

    现在您可以开始了,Touch ID 现在将对 sudo 进行身份验证,而不必在命令行中输入密码。是的,当然你仍然可以使用你的密码。请注意,一些用户报告需要重新启动或刷新他们的 shell 才能使其正常工作。

    现在,下次您运行 sudo 或 su 以使用 root 用户 或运行命令时作为 root,您可以通过将手指放在 Touch ID 上来进行身份验证。

    在 Mac 上使用 Touch ID sudo

    这对于使用 Touch ID 机器的 Mac 用户来说无疑是有用的,足以让它成为某个地方的专用设置选项,而不是命令行修改。另一个有用的技巧是更改输入密码的 sudo 超时时间,在这种情况下这意味着延长超时时间在必须再次使用 Touch ID 进行身份验证之前。

    这条提示来自 Twitter 上的 @cabel已经获得了一定的知名度并且是我第一次听说它,但值得一提的是 HamzaSood 在 Github 和 其他地方 通过各种方法在网络上。对于那些配备 Touch ID 机器并且在终端中花费大量时间的 Mac 用户,这可能会吸引您,所以试试吧!

    哦,如果您想撤销此更改,只需再次从 /etc/pam.d/sudo 中删除“auth sufficient pam_tid.so”行即可。