スクリーンロックの自動解除#
このガイドでは、Nitrokeyを取り外すと自動的にセッションがロックされるように、コンピュータの設定を説明します。
この設定では、2つの異なるディレクトリに2つのファイルを作成する必要があります。
要求事項#
Ubuntu 20.04またはDebian 10 (Buster)で、どちらも`Gnome Display Manager <https://wiki.gnome.org/Projects/GDM>`_がインストールされています。
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"
ファイルを保存し、エディタを終了します。
このファイルでは、Nitrokeyデバイスの取り外し時に``gnome-screensaver-lock``を実行する新しいハードウェアルールを設定します。
お使いの機器に合わせて、以下のように設定を変更してください。
Nitrokeyプロ。
ENV{PRODUCT}=="20a0/4108/101"
NitrokeyHSM:
ENV{PRODUCT}=="20a0/4230/101"
Nitrokey Storage``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をコンピュータから外すと、自動的に画面がロックされます。