sudo管理者パスワードを入力する手間を省くために、macOS ターミナル アプリのコマンドにMac の Touch ID を使用する方法を説明します。

よく知らない人のために説明すると、sudoこれは Mac のターミナル アプリで使用できる強力な Unix コマンドであり、スーパーユーザーと同じようにシステム レベルの変更を行うことができます。
macOS Ventura 以前の非公式ソリューションでは、sudo管理者パスワードの代わりにコマンドに Touch ID 認証を使用できます。
これは基本的に回避策ですが、重大な欠点があります。新しい macOS バージョンをインストールするたびに、ターミナルの Touch ID を再度有効にする必要があります。
macOS Sonoma は、ソフトウェアのアップデートにも耐える将来性のあるソリューションを提供します。ターミナルのsudoコマンドで Touch ID を有効にして使用する方法を見てみましょう。
ターミナルで Touch ID 認証を有効にするには、新しいファイルとして複製しsudo_local.template、少し変更を加えます。
- アプリケーション/ユーティリティフォルダからターミナルを起動します。Spotlight検索やLaunchpadで「ターミナル」と入力して、アプリを素早く見つけて開くこともできます。
- 以下のコマンドをターミナルに貼り付け、Enterキーを押します。このコマンドは、ターミナルの作業ディレクトリを、macOSで利用可能なプラグ可能な認証モジュール(PAM)に関する情報が保存されているシステムフォルダに設定します。
cd /etc/pam.d - 次に、以下のターミナルコマンドを実行して、
sudo_local.template新しいファイルにコピーしますsudo_local。保護されたシステムファイルに変更を加えるため、コマンドを承認するために管理者パスワードを入力する必要があります。sudo cp sudo_local.template sudo_local

- 最後に、
sudo_localmacOS Monterey 12.3 以降に組み込まれている Pico コマンドライン テキスト エディターを使用して構成ファイルを編集します。sudo pico sudo_local - Touch ID用のプラグイン認証モジュールを有効にするために、以下の行のコメントを解除します
sudo_local。Picoエディタで、矢印キーを使ってpam_tid.soハッシュタグ記号(#)を含む行に移動し、先頭のハッシュタグ記号を削除します。

- 最後に、キーボードでControl (⌃) - Xを押して変更を保存し、 Yと入力してReturnキーを押してファイルを保存します。
macOS は を読み取りますsudo_local。管理者権限を必要とするターミナルコマンドを Touch ID で承認してもよいことをオペレーティングシステムに通知しました。
Touch IDを使ってターミナルで「sudo」を認証する方法
ターミナルで生体認証を使用すると、次回コマンドを使用する際にTouch IDプロンプトが表示されますsudo。管理者パスワードを入力する代わりに、Macの指紋センサーに指を置くだけでコマンドを承認できます。

パスワードを入力したい場合は、ダイアログで「パスワードを入力」をクリックします。

しかし、なぜ指紋の代わりにパスワードを使いたがるのでしょうか?macOSの認証リクエストを承認するように設定されたApple Watchを装着している人は、このオプションをクリックすることでApple Watchで認証できるようになるからです。
古いmacOSバージョンのターミナルでTouch IDを使用する
macOS Sonoma ではsudo_localソフトウェア アップデートが維持されるため、ターミナルの Touch ID を一度オンにすれば完了です。
ただし、macOS Ventura以前では、ターミナルでTouch IDを有効にするには、auth sufficient pam_tid.so最初の行の下に次の行を追加する必要があります。ただし、前述のように、この設定はアップデート後も維持されず、ソフトウェアアップデートをインストールするたびに標準ファイルによって上書きされてしまいます。sudo_localsudo_local
ターミナルオタクのための時間節約機能
この新しい方法を発見し、Mastodon で共有してくれた Rachel Greenham に感謝します。Six Colors の Dan Moren は、この方法が有効であることを確認しました。
自分がターミナルオタクだと思っているなら、このヒントは多くの時間を節約できるでしょう。
ターミナルで実行する多くの操作では、sudoシステムファイルの変更許可を求めるコマンドが必要です。ほんの数分の時間とターミナルのちょっとしたコツがあれば、sudoターミナルコマンドでTouch IDを使って認証できるようになります。