fprint (Português)

From ArchWiki

Status de tradução: Esse artigo é uma tradução de Fprint. Data da última tradução: 2020-09-18. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.

Do site oficial do fprint:

O projeto fprint visa preencher uma lacuna na área de trabalho do Linux: suporte para dispositivos de leitura de impressões digitais de consumidores.

A ideia é usar o leitor de impressão digital embutido em alguns notebooks para fazer login usando PAM. Este artigo também explicará como usar a senha normal para o método de login de backup (somente o leitor de impressão digital não é recomendado devido a vários motivos).

Pré-requisitos

Verifique se você possui um dos leitores biométricos compatíveis. Você pode verificar se o seu dispositivo é suportado, verificando lista de dispositivos suportados. Para verificar qual você possui, digite:

$ lsusb
Nota: A lista acima de dispositivos suportados não é atualizada regularmente e não está completa. Vale a pena testar o seu dispositivo usando as instruções nesta página, mesmo que ele não apareça nessa lista, antes de recorrer aos pacotes AUR.

Instalação

Instale o pacote fprintd. imagemagick também pode ser necessário.

Alguns disposições exigem um fork diferente do libfprint feito especificamente para sensores baseados em toques e não (ainda?) mesclado ao libfprint principal: libfprint-tod. Isto está disponível como libfprint-tod-gitAUR

Configuração

Configuração de login

Nota:
  • Se você usa GDM, a opção de impressão digital já estará disponível no menu de login (se não estiver, adicione você mesmo ao grupo input). Você pode pular esta seção!
  • Se você usa SDDM, consulte SDDM#Using a fingerprint reader.

Adicione pam_fprintd.so como sufficient ao topo da seção de auth de /etc/pam.d/system-local-login:

/etc/pam.d/system-local-login
auth      sufficient pam_fprintd.so
auth      include   system-login
...

Ele tenta usar o login de impressão digital primeiro e, se falhar ou se não encontrar assinaturas de impressão digital no diretório inicial do usuário, prossegue para o login com senha.

Você também pode modificar outros arquivos no /etc/pam.d/{login,su,sudo,gdm,lightdm} da mesma maneira, por exemplo /etc/pam.d/polkit-1 para autenticação de polkit do GNOME.

Adicionar pam_fprintd.so como sufficient a qualquer arquivo de configuração em /etc/pam.d/ quando houver uma assinatura de impressão digital, solicitará apenas a autenticação de impressão digital, impedindo o uso de uma senha.

Para usar uma senha ou uma impressão digital, adicione a seguinte linha ao topo de todos os arquivos necessários:

/etc/pam.d/sudo
auth        sufficient      pam_unix.so try_first_pass likeauth nullok
auth        sufficient      pam_fprintd.so
...

Isso solicitará uma senha; se o campo for deixado em branco e pressionar for pressionado, continuará a autenticação de impressão digital

Criar assinatura de impressão digital

Para adicionar uma assinatura para um dedo, execute:

$ fprintd-enroll

ou crie uma assinatura para todos os dedos:

$ fprintd-delete "$USER"
$ for dedo in {left,right}-{thumb,{index,middle,ring,little}-finger}; do fprintd-enroll -f "$dedo" "$USER"; done

Você será solicitado a fazer a leitura do dedo informado, considerando que "thumb" é polegar, "index" é o dedo indicador, "middle" é o dedo médio, "ring" é o dedo anelar, "little" é o dedo mínimo. Passe o dedo indicador direito cinco vezes. Depois disso, a assinatura é criada em /var/lib/fprint/.

Para mais informações, consulte fprintd(1).

Restringir registro

Por padrão, você tem permissão para registrar novas impressões digitais sem solicitar a senha ou a impressão digital. Você pode alterar esse comportamento usando as regras do Polkit.

Existem dois locais que contêm os arquivos de configuração do polkit:

  • /etc/polkit-1/rules.d/
  • /usr/share/polkit-1/rules.d/
Nota: Você não deve modificar os arquivos em /etc/polkit-1/rules.d porque eles serão substituídos na atualização. Copie-os em /usr/share/polkit-1/rules.d/ primeiro.

No exemplo a seguir, apenas o superusuário pode registrar impressões digitais:

/usr/share/polkit-1/rules.d/50-net.reactivated.fprint.device.enroll.rules
polkit.addRule(function (action, subject) {
  if (action.id == "net.reactivated.fprint.device.enroll") {
    return subject.user == "root" ? polkit.Result.YES : polkit.result.NO
  }
})