Ganti prompt kata sandi dengan Touch ID untuk membaca kata sandi Keychain

14

Saya menggunakan perintah berikut untuk mengambil kata sandi dari Keychain di skrip shell: security find-generic-password -w -s "MyServiceName"

Ini berfungsi, tetapi menampilkan jendela sembulan yang menanyakan kata sandi gantungan kunci masuk:

securityingin menggunakan informasi rahasia Anda yang disimpan di "MyServiceName" di gantungan kunci Anda. Untuk mengizinkan ini, masukkan kata sandi gantungan kunci "masuk".

Dengan opsi untuk Deny, AllowatauAlways Allow

Tetapi saya tidak ingin memasukkan kata sandi gantungan kunci setiap waktu, jadi saya tidak dapat menggunakan "Izinkan" dan saya lebih suka tidak "Selalu Izinkan" untuk menjaga tingkat keamanan di sini.

Idealnya saya ingin mendapatkan prompt Touch ID sebagai gantinya. Apakah ada cara untuk melakukan ini?

Coyotwill
sumber
Itu akan luar biasa! Apakah kamu menemukan sesuatu?
ZedTuX
Saya tidak yakin ini menjawab pertanyaan Anda, tetapi Anda dapat meminta sudo menggunakan TouchID alih-alih dialog kata sandi, lihat di sini: osxdaily.com/2017/11/22/use-touch-id-sudo-mac
Harv

Jawaban:

3

Menyelidiki hal ini saya tidak dapat menemukan metode apa pun yang memungkinkan securityperintah untuk menggunakan Touch ID. Artikel ini berjudul: Cara Menggunakan Touch ID untuk Mengotentikasi sudo pada Mac OS , yang disebutkan dalam komentar mengenai sudodan kemudian menggunakan Touch ID, tidak akan berfungsi di sini karena hal itu menggunakan penambahan baris ini:

auth sufficient pam_tid.so

ke sudofile PAM /etc/pam.d/sudo,. Tidak ada yang setara dengan securityperintah karena tidak digunakan sudo.

Karenanya, Anda menggunakan salah satu dari 2 metode yang disebutkan dalam dialog saat menjalankan securityperintah:

  • Selalu mengizinkan
  • Mengizinkan

ss1

Jika Anda memilih "Selalu Izinkan" ini akan memberikan akses tanpa batas hanya ke securityperintah. Jika Anda memilih "Izinkan" itu akan memberikan securityakses hanya 1 kali ke Gantungan Kunci.

Contoh

Di sini saya telah membuat item kata sandi aplikasi dalam Keychain yang disebut TestPassword.

ss2

Kita dapat melihat bahwa tidak ada yang diberikan akses kepadanya dengan melihat tab ACL dari dialog ini.

ss3

Jika saya menjalankan securityperintah ini :

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

Dan secara permanen "Selalu Izinkan" Saya akan diberikan kata sandi untuk item ini dari Keychain:

TestPassword123

Tetapi yang lebih penting saya akan menambahkan securityke ACL untuk item ini di Keychain.

ss4

slm
sumber