¿Touch ID para MacBook Pro Touch Bar admite elevar los privilegios de administrador en macOS?
De manera algo diferente, ¿puede el Touch ID dar acceso a sudo en la Terminal?
Me pregunto esto porque estoy considerando obtener un YubiKey que pueda ingresar cadenas a los campos de contraseña, pero Touch ID para Mac puede hacer que sea innecesario.
Respuestas:
TouchID admite privilegios elevados, pero a partir de ahora, solo parece ser compatible con las propias aplicaciones de Apple. Supongo que, desafortunadamente, las aplicaciones de terceros deberán actualizarse para admitirlo. Todavía termino escribiendo mi contraseña mucho.
Consulte la respuesta de @ conorgriffin para obtener instrucciones para habilitar TouchID para sudo.
fuente
Para permitir que TouchID en su Mac lo autentique para
sudo
acceder en lugar de una contraseña, debe hacer lo siguiente.sudo su -
/etc/pam.d/sudo
archivo con un editor de línea de comandos comovim
onano
El contenido de este archivo debería verse así
necesita agregar una
auth
línea adicional en la parte superior para que ahora se vea así:vim
, requerirá que lo usewq!
al guardar)sudo
y se le pedirá que se autentique con TouchID como se muestra a continuaciónNota: Vea la respuesta del usuario Pierz a continuación si está usando iTerm, ya que hay una configuración que debe cambiar para habilitar esta función.
fuente
Si está usando iTerm2 (v3.2.8 +), es posible que haya visto que Touch ID no funciona con sudo en el terminal a pesar de haber realizado la
pam_tid.so
modificación como se indica arriba, y funciona en versiones anteriores. Esto se debe a una función avanzada que parece estar ahora habilitada de forma predeterminada; esto debe desactivarse aquí: iTerm2-> Preferencias> Avanzado> (Ir al encabezado de la sesión)> Permitir que las sesiones sobrevivan al cerrar sesión y volver a iniciarla .Alternativamente, puede usar este
pam_reattach
módulo para retener la función de sesión y el sudo TouchID al mismo tiempo.fuente
No
estaba configurado en el entorno. También puede buscar "tocar" y aparecerá la opción.pam_reattach
, no es necesario cambiar la configuración o reiniciar iTerm, ¡todo funciona de inmediato! (No he probado si las sesiones "realmente sobreviven" ya que no tengo idea de cómo, pero no necesitaba cambiar la configuración).Puede usar la huella digital para obtener acceso a sudo en el terminal o iTerm, simplemente agregue
auth sufficient pam_tid.so
a la primera línea de su/etc/pam.d/sudo
archivo.fuente
Allow sessions to survive logging out and back in
: gitlab.com/gnachman/iterm2/issues/7608#note_153123852He creado un script simple que permite a sudo usar el módulo TouchID PAM exactamente como explica conorgriffin. Lo hace en un solo script que puede copiar y pegar en un terminal en su totalidad o usar el acceso directo "
curl
pipebash
":curl -sL https://gist.githubusercontent.com/RichardBronosky/31660eb4b0f0ba5e673b9bc3c9148a70/raw/touchid_sudo.sh | bash
El guión completo :
Este script muestra algunos patrones geniales que me encanta enseñar a las personas que son nuevas en bash o DevOps.
.bak
al final. (Parece retorcido, pero ese patrón funciona con lo que sea que esté dentro$file
y sea reutilizable.curl ... | bash
, envuelva todo en una función y llámelo a la última línea. De esa manera, si la descarga se interrumpe, no se hace nada (parcialmente).sudo bash -eu
su script para que no tenga que decirle al usuario que lo haga. (-eu
son la abreviatura de errexit y nounset y deberías estar usándolos)'EOF'
para evitar la expansión prematura del shell.awk
más legible.fuente
Creé las siguientes tareas ansibles para habilitar la identificación táctil para los comandos sudo si su computadora lo admite:
fuente