Isso pode ser feito com o módulo pwdfile do PAM.
A maneira descrita aqui altera somente o login da área de trabalho (serviço lightdm), mas pode ser aplicada a outros serviços também, se desejar.
Além disso, isso permite que você tenha uma senha strong original para "sudo", mantendo uma maneira bastante fácil de fazer login no desktop do Ubuntu.
Os comandos podem ser emitidos no programa do terminal.
Instalando o software
Primeiro, instalamos um pacote de software chamado libpam-pwdfile
:
sudo apt-get install libpam-pwdfile
Criando o arquivo de senha do usuário
Em seguida, criaremos o arquivo de usuário / senha. Você será solicitado a inserir uma nova senha do PIN. Sua senha será criptografada e salva em um arquivo chamado passwd.like
pinpass=$(mkpasswd -5)
echo "$pinpass" | sudo tee /etc/passwd.like
Alternativamente, você pode usar:
openssl passwd -1 yourpinpasswordhere
e criar um arquivo chamado /etc/passwd.like e essa senha.
Configurando o serviço de login da área de trabalho
O próximo passo é preparar o serviço de login da área de trabalho para aceitar a senha do PIN antes de outros procedimentos de senha. Já mencionei o nome do serviço de login da área de trabalho , lightdm
.
Veja o arquivo:
cat /etc/pam.d/lightdm
Se você não tiver este arquivo, então o seu serviço de desktop (login) é um diferente , e você deve encontrar o seu gerenciador de desktop antes de prosseguir. Como explicado anteriormente, este guia é para o Ubuntu 16.04, mas também pode ser usado para outros serviços de login.
Pode ser útil se você também criar um backup:
sudo cp /etc/pam.d/lightdm /etc/pam.d/lightdm.backup
Agora, você pode editar o arquivo usando nano, gedit ou qualquer outro editor de texto:
sudo gedit /etc/pam.d/lightdm
No topo do arquivo, o meu tinha:
#%PAM-1.0
auth requisite pam_nologin.so
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin
@include common-auth
Eu modifiquei assim:
#%PAM-1.0
auth requisite pam_nologin.so
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin
auth required pam_pwdfile.so pwdfile=/etc/passwd.like
auth required pam_permit.so
#@include common-auth
Salve o arquivo e feche seu editor de texto.
Faça logout e faça login novamente.
Você deve poder usar a senha do PIN que você definiu. Seguindo este guia, a senha do PIN é usada apenas para o serviço de login da área de trabalho, não para a senha dos comandos sudo.
Fonte: link