O Touch ID para a barra de toque do MacBook Pro suporta a elevação de privilégios de administrador no macOS?
De maneira um pouco diferente, o Touch ID pode dar acesso ao sudo no Terminal?
Gostaria de saber isso, porque estou pensando em obter um YubiKey que pode fazer a entrada de strings nos campos de senha, mas o Touch ID para Macs pode torná-lo desnecessário.
Respostas:
O TouchID suporta a elevação de privilégios, mas, a partir de agora, apenas parece ser suportado nos aplicativos da Apple. Meu palpite é que aplicativos de terceiros precisarão ser atualizados para suportá-lo, infelizmente. Eu ainda acabo digitando muito minha senha.
Consulte a resposta de @ conorgriffin para obter instruções sobre como ativar o TouchID para sudo.
fonte
Para permitir que o TouchID no seu Mac o autentique para
sudo
acesso em vez de uma senha, faça o seguinte.sudo su -
/etc/pam.d/sudo
arquivo com um editor de linha de comando comovim
ounano
O conteúdo deste arquivo deve ficar assim
você precisa adicionar uma
auth
linha adicional ao topo, para que fique assim:vim
, exigirá que você usewq!
ao salvar)sudo
e você será solicitado a se autenticar com o TouchID, como mostrado abaixoNota: Veja a resposta do usuário Pierz abaixo se você estiver usando o iTerm, pois há uma configuração que você precisa alterar para ativar esse recurso.
fonte
Se você estiver usando o iTerm2 (v3.2.8 +), poderá ter visto o Touch ID falhar ao trabalhar com o sudo no terminal, apesar de ter feito a
pam_tid.so
modificação como acima e estar funcionando nas versões anteriores. Isso se resume a um recurso avançado que agora parece estar ativado por padrão - isso precisa ser desativado aqui: iTerm2-> Preferências> Avançado> (Vá para o cabeçalho da sessão)> Permitir que as sessões sobrevivam ao sair e entrar novamente .Como alternativa, você pode usar este
pam_reattach
módulo para manter o recurso de sessão e o TouchID sudo ao mesmo tempo.fonte
No
configuração estivesse definida. Você também pode procurar por "toque" e a opção será exibida.pam_reattach
, não é necessário alterar a configuração ou reiniciar o iTerm - tudo funciona imediatamente! (Não testei se as sessões "realmente sobrevivem", pois não tenho idéia de como, mas não precisava alterar a configuração).Você pode usar a impressão digital para obter acesso ao sudo no terminal ou no iTerm, basta adicionar
auth sufficient pam_tid.so
à primeira linha do seu/etc/pam.d/sudo
arquivo.fonte
Allow sessions to survive logging out and back in
: gitlab.com/gnachman/iterm2/issues/7608#note_153123852Eu criei um script simples que permite ao sudo usar o módulo TouchID PAM exatamente como o conorgriffin explica. Ele faz isso em um único script que você pode copiar e colar em um terminal em sua totalidade ou usar o atalho "
curl
pipebash
":curl -sL https://gist.githubusercontent.com/RichardBronosky/31660eb4b0f0ba5e673b9bc3c9148a70/raw/touchid_sudo.sh | bash
O script completo :
Esse script demonstra alguns padrões interessantes que eu adoro ensinar às pessoas que são novas no bash ou no DevOps.
.bak
no final. (Parece genial, mas esse padrão funciona com o que está dentro$file
e é reutilizável.curl ... | bash
, envolva tudo em uma função e chame-a na última linha. Dessa forma, se o download for interrompido, nada será (parcialmente) feito.sudo bash -eu
no seu script para que você não precise dizer ao usuário para fazê-lo. (-eu
são abreviações de errexit e nounset e você deve usá-las!)'EOF'
para impedir a expansão prematura do shell.awk
mais legível.fonte
Criei as seguintes tarefas ansible para ativar o touch id para comandos sudo, se o seu computador suportar:
fonte