キーチェーンパスワードを読み取るためにパスワードプロンプトをTouch IDに置き換えます


14

次のコマンドを使用して、シェルスクリプトでキーチェーンからパスワードをフェッチしています。 security find-generic-password -w -s "MyServiceName"

動作しますが、ログインキーチェーンのパスワードを要求するポップアップウィンドウが表示されます。

securityキーチェーンの「MyServiceName」に保存されている機密情報を使用したい。これを許可するには、「ログイン」キーチェーンのパスワードを入力します。

オプションを使用してDenyAllowまたはAlways Allow

ただし、キーチェーンパスワードを毎回入力したくないので、ここではある程度のセキュリティを維持するために、[許可]は使用できず、[常に許可]は使用しません。

理想的には、代わりにTouch IDプロンプトを取得します。これを行う方法はありますか?


よかった!何か見つけましたか?
ZedTuX 2018年

これがあなたの質問に答えているかどうかはわかりませんが、パスワードダイアログの代わりにsudoでTouchIDを使用できます。こちらをご覧ください:osxdaily.com/2017/11/22/use-touch-id-sudo-mac
Harv

回答:


3

これを調査したところ、securityコマンドがTouch IDを利用できるようにする方法を見つけることができませんでした。この記事のタイトル:Touch IDを使用してMac OSsudoを認証sudoする方法は、Touch ID に関するコメントで言及されており、Touch IDの使用は、この行の追加を利用するため、ここでは機能しません。

auth sufficient pam_tid.so

sudoPAMファイル、/etc/pam.d/sudosecurityコマンドを使用しないため、コマンドに相当するものはありませんsudo

したがって、securityコマンドを実行するときに、ダイアログで言及されている2つの方法のいずれかを使用する必要があります。

  • 常に許可
  • 許可する

ss1

「常に許可」を選択すると、securityコマンドへのアクセスのみが無期限に許可されます。「許可」を選択するとsecurity、キーチェーンへのアクセスが1回だけ許可されます。

ここでは、KeyPasswordにTestPasswordというアプリケーションパスワード項目を作成しました。

ss2

このダイアログの[ACL]タブを見ると、アクセス権が与えられていないことがわかります。

ss3

このsecurityコマンドを実行すると:

$ security find-generic-password -w -s "TestPassword"

そして、永久に「常に許可する」私はキーチェーンからこのアイテムのパスワードを与えられます:

TestPassword123

しかし、より重要なことにsecurity、キーチェーンのこのアイテムのACLに追加します。

ss4

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.