Reemplace la solicitud de contraseña con Touch ID para leer la contraseña del llavero

14

Estoy usando el siguiente comando para obtener una contraseña del llavero en un script de shell: security find-generic-password -w -s "MyServiceName"

Funciona, pero muestra una ventana emergente que me pide la contraseña del llavero de inicio de sesión:

securitydesea utilizar su información confidencial almacenada en "MyServiceName" en su llavero. Para permitir esto, ingrese la contraseña del llavero "iniciar sesión".

Con las opciones a Deny, AllowoAlways Allow

Pero no quiero ingresar mi contraseña de llavero cada vez, así que no puedo usar "Permitir" y prefiero no "Permitir siempre" para mantener un cierto nivel de seguridad aquí.

Idealmente, me gustaría obtener un aviso de Touch ID en su lugar. ¿Hay alguna forma de hacer esto?

Coyotwill
fuente
Eso seria genial ! ¿Encontraste algo?
ZedTuX
No estoy seguro de que esto responda a su pregunta, pero puede hacer que sudo use TouchID en lugar de un diálogo de contraseña, consulte aquí: osxdaily.com/2017/11/22/use-touch-id-sudo-mac
Harv

Respuestas:

3

Al investigar esto, no pude encontrar ningún método que permitiera que el securitycomando utilizara Touch ID. Este artículo titulado: Cómo usar Touch ID para autenticar sudo en Mac OS , mencionado en un comentario sobre sudoy luego usar Touch ID, no funcionará aquí ya que hace uso de la adición de esta línea:

auth sufficient pam_tid.so

de sudoarchivo PAM 's, /etc/pam.d/sudo. No hay nada equivalente al securitycomando ya que no hace uso de él sudo.

Por lo tanto, debe utilizar uno de los 2 métodos mencionados en el cuadro de diálogo al ejecutar el securitycomando:

  • Permitir siempre
  • Permitir

ss1

Si selecciona "Permitir siempre", esto otorgará acceso indefinido solo al securitycomando. Si selecciona "Permitir", otorgará securityacceso solo 1 vez a Keychain.

Ejemplo

Aquí he creado un elemento de contraseña de aplicación en Llavero llamado TestPassword.

ss2

Podemos ver que no se le ha dado acceso a nada mirando la pestaña ACL de este cuadro de diálogo.

ss3

Si ejecuto este securitycomando:

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

Y permanentemente "Permitir siempre" se me dará la contraseña para este artículo de Keychain:

TestPassword123

Pero lo más importante es que agregaré securitya la ACL para este artículo en Keychain.

ss4

slm
fuente