Automatische Bildschirmsperre beim Entfernen#

Diese Anleitung führt Sie durch die Konfiguration Ihres Computers, um Ihre Sitzung automatisch zu sperren, wenn Sie den Nitrokey entfernen.

Die Konfiguration erfordert das Anlegen von zwei Dateien unter zwei verschiedenen Verzeichnissen.

Anforderungen#

  • Ubuntu 20.04 oder Debian 10 (Buster), beide mit Gnome Display Manager installiert.

  • Nitrokey Pro 2, Nitrokey Storage 2, oder Nitrokey HSM 2

Konfiguration#

Erstellen Sie die Datei .rules#

Erstellen Sie mit Ihrem bevorzugten Texteditor eine Datei namens 85-nitrokey.rules

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

Fügen Sie die folgende Zeile in die Datei ein

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

Speichern Sie die Datei und beenden Sie den Editor.

Diese Datei richtet eine neue Hardware-Regel ein, die beim Entfernen des Nitrokey-Gerätes die gnome-screensaver-lock ausführt.

Sie sollten die Konfiguration entsprechend dem von Ihnen verwendeten Gerät wie folgt ändern:

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

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

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

Wenn Sie ein anderes Gerät haben und die Zeichenfolge ENV{PRODUCT} herausfinden müssen, können Sie den folgenden Befehl verwenden, um die Informationen beim Einstecken herauszufinden:

$ udevadm monitor --property --udev

Erstellen Sie das Skript gnome-screensaver-lock#

Erstellen Sie mit Ihrem bevorzugten Texteditor eine Datei namens gnome-screensaver-lock

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

Fügen Sie den folgenden Text ein

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

Im ersten Schritt sucht dieses Skript nach dem Benutzernamen der Gnome-Sitzung, d.h. user.

Wenn es beim Entfernen des Nitrokeys aufgerufen wird, fragt das Skript user ab, schaltet auf seine Sitzung um und sperrt den Bildschirm, indem es den Bildschirmschoner aufruft.

Ausführen des Skripts#

Sobald alles eingerichtet ist, führen Sie das Skript einmal aus, und es sperrt den Bildschirm. Es spielt keine Rolle, ob der Nitrokey bei dieser ersten Ausführung eingesteckt ist oder nicht.

Verwendung#

Inzwischen können Sie sich wieder an Ihrer Sitzung anmelden, indem Sie Ihr Passwort eingeben und Ihren Nitrokey (wieder) anschließen, falls Sie das nicht schon vorher getan haben.

Wenn Sie den Nitrokey das nächste Mal vom Computer trennen, wird der Bildschirm automatisch gesperrt.