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:
security
ingin 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
,Allow
atauAlways 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?
Jawaban:
Menyelidiki hal ini saya tidak dapat menemukan metode apa pun yang memungkinkan
security
perintah untuk menggunakan Touch ID. Artikel ini berjudul: Cara Menggunakan Touch ID untuk Mengotentikasi sudo pada Mac OS , yang disebutkan dalam komentar mengenaisudo
dan kemudian menggunakan Touch ID, tidak akan berfungsi di sini karena hal itu menggunakan penambahan baris ini:ke
sudo
file PAM/etc/pam.d/sudo
,. Tidak ada yang setara dengansecurity
perintah karena tidak digunakansudo
.Karenanya, Anda menggunakan salah satu dari 2 metode yang disebutkan dalam dialog saat menjalankan
security
perintah:Jika Anda memilih "Selalu Izinkan" ini akan memberikan akses tanpa batas hanya ke
security
perintah. Jika Anda memilih "Izinkan" itu akan memberikansecurity
akses hanya 1 kali ke Gantungan Kunci.Contoh
Di sini saya telah membuat item kata sandi aplikasi dalam Keychain yang disebut TestPassword.
Kita dapat melihat bahwa tidak ada yang diberikan akses kepadanya dengan melihat tab ACL dari dialog ini.
Jika saya menjalankan
security
perintah ini :Dan secara permanen "Selalu Izinkan" Saya akan diberikan kata sandi untuk item ini dari Keychain:
Tetapi yang lebih penting saya akan menambahkan
security
ke ACL untuk item ini di Keychain.sumber