TOUCH ID en la Terminal de Mac

TOUCH ID en la Terminal de Mac

En este pequeño post vamos a ver cómo usar el TOUCH ID en la Terminal de Mac cuando quieras ejecutar un comando con sudo.

sudo: 3 incorrect password attempts

Te pedía que modificaras el archivo /etc/sudoers mediante el comando sudo visudo.

Te dice que agregues al final del archivo lo siguiente:

Defaults pam_service=sudo_local

Una vez que reinicias la consola (solo la consola, no la máquina), te da el siguiente error para cualquier comando que quieras ejecutar con sudo.

Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts

Resolver sudo: 3 incorrect password attempts

Como dije, yo solo había reiniciado mi Kitty Terminal, pero sucedía con la terminal de la Mac también.

Para resolverlo debes hacer sudo -i. En este punto te pide la contraseña de tu usuario de la Mac. Se lo pones y te da acceso como root. Aquí ya no puedes ejecutar sudo visudo pero puedes editar el archivo.

Ejecuta vi /etc/sudoers o nano /etc/sudoers. Quitas la línea, guardas y reinicias la consola. Con eso ya todo vuelve: la normalidad y el alma a tu cuerpo.

Agregar TOUCH ID

Una vez recuperado del susto, hubo dos otros intentos para tratar de agregar el TOUCH ID cuando ejecutas sudo en tu Mac.

El primer intento fue modificando el archivo sudo nano /etc/pam.d/sudo. Aquí debes agregar la siguiente línea:

# solicitar TOUCH ID cuando hago sudo en la consola
auth sufficient pam_tid.so

Reinicia la consola.

¿El problema? Cuando ejecutaba un comando me pedía el password y cuando lo ponía ya me salía la ventana del Touch ID. Lo que quiero es evitarme poner el password.

NOTA: Este lo he descartado porque de entrada no funcionó, pero también puedes intentar agregar la línea al principio de la archivo, ya que al parecer es importante el orden de la autenticación.

El segundo intento y el exitoso fue copiando lo siguiente:

sudo cp /etc/pam.d/sudo_local.template /etc/pam.d/sudo_local
sudo nano /etc/pam.d/sudo_local

Yo creo que el error que comenté al principio fue debido a que el archivo hacía referencia a pam_service=sudo_local y yo no tenía este archivo, ya que por default solo tienes el archivo sudo_local.template, por eso tenemos que copiarlo. La verdad no hice pruebas, para qué.

Luego en /etc/pam.d/sudo_local hay que descomentar la línea:

auth sufficient pam_tid.so

Luego en editamos /etc/pam.d/sudo y agregamos:

auth sufficient pam_tid.so

Mi archivo queda así:

# sudo: auth account password session
auth       include        sudo_local
auth       sufficient     pam_smartcard.so
auth       required       pam_opendirectory.so
account    required       pam_permit.so
password   required       pam_deny.so
session    required       pam_permit.so

# solicitar TOUCH ID cuando hago sudo en la consola
auth sufficient pam_tid.so

OJO: como dije en la nota del primer intento (el error no, ese olvídalo), en este archivo vemos en la primera línea es auth include sudo_local, y como tenemos el archivo sudo_local, entonces toma ese método.

Reinicia la consola y ya debes poder usar TOUCH ID en la Terminal de Mac.

¡Gracias por leer!


Posted

in

, , , , ,

by

Hello Mundo
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.