Estou usando o seguinte comando para buscar uma senha do Keychain em um script de shell: security find-generic-password -w -s "MyServiceName"
Funciona, mas está mostrando uma janela pop-up solicitando a senha do chaveiro de login:
security
deseja usar suas informações confidenciais armazenadas em "MyServiceName" em seu chaveiro. Para permitir isso, digite a senha do chaveiro "login".Com as opções para
Deny
,Allow
ouAlways Allow
Mas eu não quero inserir minha senha de chaveiro todas as vezes, então não posso usar "Permitir" e prefiro não "Sempre permitir" para manter algum nível de segurança aqui.
Idealmente, eu gostaria de receber um prompt do Touch ID. Há alguma maneira de fazer isso ?
Respostas:
Investigando isso, não consegui encontrar nenhum método que permitisse ao
security
comando usar o Touch ID. Este artigo intitulado: Como usar o Touch ID para autenticar o sudo no Mac OS , mencionado em um comentário sobresudo
e depois usar o Touch ID, não funcionará aqui, pois faz uso da adição desta linha:para
sudo
o arquivo PAM/etc/pam.d/sudo
,. Não há nada equivalente aosecurity
comando, pois ele não é utilizadosudo
.Portanto, você fica usando um dos 2 métodos mencionados na caixa de diálogo ao executar o
security
comando:Se você escolher "Sempre permitir", isso concederá acesso indefinidamente apenas ao
security
comando. Se você escolher "Permitir", ele concederásecurity
acesso apenas 1 vez ao Keychain.Exemplo
Aqui eu criei um item de senha do aplicativo no Keychain chamado TestPassword.
Podemos ver que nada foi dado acesso a ele olhando a guia ACL desta caixa de diálogo.
Se eu executar este
security
comando:E permanentemente "Sempre permitir", receberei a senha deste item do Keychain:
Mais importante, porém, adicionarei
security
à ACL esse item no chaveiro.fonte