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_local
macOS 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_local
sudo_local
ターミナルオタクのための時間節約機能
この新しい方法を発見し、Mastodon で共有してくれた Rachel Greenham に感謝します。Six Colors の Dan Moren は、この方法が有効であることを確認しました。
自分がターミナルオタクだと思っているなら、このヒントは多くの時間を節約できるでしょう。
ターミナルで実行する多くの操作では、sudo
システムファイルの変更許可を求めるコマンドが必要です。ほんの数分の時間とターミナルのちょっとしたコツがあれば、sudo
ターミナルコマンドでTouch IDを使って認証できるようになります。