Apps

MacのターミナルでTouch IDを有効にして「sudo」などのコマンドを認証する方法

MacのターミナルでTouch IDを有効にして「sudo」などのコマンドを認証する方法

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

macOSターミナルでパスワードを入力してsudoコマンドを認証する

よく知らない人のために説明すると、sudoこれは Mac のターミナル アプリで使用できる強力な Unix コマンドであり、スーパーユーザーと同じようにシステム レベルの変更を行うことができます。

macOS Ventura 以前の非公式ソリューションでは、sudo管理者パスワードの代わりにコマンドに Touch ID 認証を使用できます。

これは基本的に回避策ですが、重大な欠点があります。新しい macOS バージョンをインストールするたびに、ターミナルの Touch ID を再度有効にする必要があります。

macOS Sonoma は、ソフトウェアのアップデートにも耐える将来性のあるソリューションを提供します。ターミナルのsudoコマンドで Touch ID を有効にして使用する方法を見てみましょう。

ターミナルで 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


    macOSターミナルでTouch IDテンプレートファイルをコピーする

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

macOS は を読み取りますsudo_local。管理者権限を必要とするターミナルコマンドを Touch ID で承認してもよいことをオペレーティングシステムに通知しました。

Touch IDを使ってターミナルで「sudo」を認証する方法

ターミナルで生体認証を使用すると、次回コマンドを使用する際にTouch IDプロンプトが表示されますsudo。管理者パスワードを入力する代わりに、Macの指紋センサーに指を置くだけでコマンドを承認できます。

macOSターミナルでsudoコマンドを認証するためのTouch IDプロンプト
Touch IDで「sudo」コマンドを認証すると、管理者パスワードを入力するよりもはるかに高速になります |画像: Christian Zibreg/iDB

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

macOSターミナルでsudoコマンドを認証するためのパスワードプロンプト
Apple Watchを使って「sudo」を認証することもできます |画像: Christian Zibreg/iDB

しかし、なぜ指紋の代わりにパスワードを使いたがるのでしょうか?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を使って認証できるようになります。

Milawo
Milawo is a contributing author, focusing on sharing the latest news and deep content.