Bloqueio automático da tela na remoção#

Este guia irá guiá-lo através da configuração do seu computador, para bloquear automaticamente a sua sessão quando você remover a Nitrokey.

A configuração requer a criação de dois arquivos sob dois diretórios diferentes.

Requisitos#

  • Ubuntu 20.04 ou Debian 10 (Buster), ambos com Gnome Display Manager instalado.

  • Nitrokey Pro 2, Nitrokey Storage 2, ou Nitrokey HSM 2

Configuração#

Criar o arquivo .rules` arquivo#

Com o seu editor de texto favorito crie um ficheiro chamado 85-nitrokey.rules`

$ sudo editor /etc/udev/rules.d/85-nitrokey.rules

Adicione a seguinte linha ao arquivo

ACTION=="remove", ENV{PRODUCT}=="20a0/4108/101" RUN+="/usr/local/bin/gnome-screensaver-lock"

Salve o arquivo e saia do editor.

Este ficheiro estabelece uma nova regra de hardware que executa o gnome-screensaver-lock na remoção do dispositivo Nitrokey.

Você deve alterar a configuração de acordo com o dispositivo que você está usando, como a seguir:

  • Nitrokey Pro: ENV{PRODUCT}=="20a0/4108/101"`

  • Nitrokey HSM: ENV{PRODUCT}=="20a0/4230/101">`

  • Armazenamento Nitrokey: ENV{PRODUCT}=="20a0/4109/101"`

If you have a different device and need to find out the ENV{PRODUCT} string you can use the following command to find out the infos when plugging in:

$ udevadm monitor --property --udev

Crie o script gnome-screensaver-lock` script#

Com o seu editor de texto favorito crie um ficheiro chamado gnome-screensaver-lock``

$ sudo editor /usr/local/bin/gnome-screensaver-lock

Adicione o seguinte texto

user=`ps axo user:30,comm | egrep "gdm-(wayland|x)" | awk '{print $1}'`

if [ -n $user ]; then
        su $user -c "/usr/bin/dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock"
fi

No primeiro passo, este script procura o nome de usuário da sessão do gnomo, ou seja, user`.

Quando é chamado na remoção da Nitrokey, o script consulta user, muda para a sua sessão, e bloqueia a tela, alertando para a tela de proteção de tela.

Executar o script#

Uma vez tudo configurado, execute o script uma vez, e ele irá bloquear a tela. Não importa se a Nitrokey está plugada ou não para esta primeira execução.

Utilização#

A esta altura já pode voltar à sua sessão introduzindo a sua password, e (re)ligar-lhe a Nitrokey se não o fez antes.

Na(s) próxima(s) vez(s) que desligar a sua Nitrokey do computador, esta irá bloquear automaticamente o ecrã.