Αυτόματο κλείδωμα οθόνης κατά την αφαίρεση#

Αυτός ο οδηγός θα σας καθοδηγήσει στη διαμόρφωση του υπολογιστή σας, ώστε να κλειδώνετε αυτόματα τη συνεδρία σας όταν αφαιρείτε το κλειδί Nitrokey.

Η διαμόρφωση απαιτεί τη δημιουργία δύο αρχείων σε δύο διαφορετικούς καταλόγους.

Απαιτήσεις#

  • Ubuntu 20.04 ή Debian 10 (Buster), και τα δύο με εγκατεστημένο το Gnome Display Manager.

  • Nitrokey Pro 2, Nitrokey Storage 2 ή Nitrokey HSM 2

Διαμόρφωση#

Δημιουργήστε το αρχείο .rules.#

Με τον αγαπημένο σας επεξεργαστή κειμένου δημιουργήστε ένα αρχείο με όνομα 85-nitrokey.rules

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

Προσθέστε την ακόλουθη γραμμή στο αρχείο

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

Αποθηκεύστε το αρχείο και κλείστε τον επεξεργαστή.

Αυτό το αρχείο ρυθμίζει έναν νέο κανόνα υλικού που εκτελεί το gnome-screensaver-lock κατά την αφαίρεση της συσκευής Nitrokey.

Θα πρέπει να αλλάξετε τη διαμόρφωση ανάλογα με τη συσκευή που χρησιμοποιείτε ως εξής:

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

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

  • Αποθήκευση Nitrokey: ENV{PRODUCT}=="20a0/4109/101"

Αν έχετε διαφορετική συσκευή και θέλετε να μάθετε τη συμβολοσειρά ENV{PRODUCT} μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να μάθετε τις πληροφορίες κατά τη σύνδεση:

$ udevadm monitor --property --udev

Δημιουργήστε το σενάριο gnome-screensaver-lock.#

Με τον αγαπημένο σας επεξεργαστή κειμένου δημιουργήστε ένα αρχείο με όνομα gnome-screensaver-lock

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

Προσθέστε το ακόλουθο κείμενο

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

In the first step, this script looks for the user-name of the gnome session, i.e. user.

Όταν καλείται κατά την αφαίρεση του κλειδιού Nitrokey, το σενάριο ζητά user, μεταβαίνει στη συνεδρία του και κλειδώνει την οθόνη ζητώντας την οθόνη προφύλαξης.

Εκτέλεση του σεναρίου#

Αφού τα ρυθμίσετε όλα, εκτελέστε το σενάριο μία φορά και θα κλειδώσει την οθόνη. Δεν έχει σημασία αν το Nitrokey είναι συνδεδεμένο ή όχι για αυτή την πρώτη εκτέλεση.

Χρήση#

Τώρα μπορείτε να συνδεθείτε ξανά στη συνεδρία σας εισάγοντας τον κωδικό πρόσβασής σας και να συνδέσετε (ξανά) το Nitrokey, αν δεν το κάνατε προηγουμένως.

Την επόμενη φορά που θα αποσυνδέσετε το Nitrokey από τον υπολογιστή, θα κλειδώσει αυτόματα την οθόνη.