автоматическое размонтирование LUKS диска

Linux Mint 21.1. Один из разделов зашифрован, при необходимости монтируется скриптом с ручным вводом пароля:

#!/bin/sh
sudo cryptsetup luksOpen /dev/sdb2 sdb2
sudo mount /dev/mapper/sdb2 "$HOME/sdb2"

Хочется его размонтировать по таймауту (неактивности, отсутствии доступа). Пока нагуглилось такое, заменить mount на

sudo systemd-mount --timeout-idle-sec=300s --automount=true /dev/mapper/sdb2 "$HOME/sdb2"

В теории должно работать, на практике нет, не размонтируется по таймауту :(


Как выяснилось, на самом деле размонтируется. Но при этом automount-сервис остаётся активным. И даже при указании ключа -u (Stop the mount and automount units corresponding to the specified mount points) созданные им .mount и .automount юниты остаются в /run/systemd/transient. А поскольку сам LUKS-диск остаётся открытым в /dev/mapper, то при любом обращении к каталогу Where диск снова монтируется, причём мгновенно, без запроса пароля.

Появилась такая мысль: после монтирования запустить каку-нибудь утилитку, которая мониторила бы активность в каталоге. И если время простоя больше заданного интервала, вызывала бы скриптик, который корректно размонтирует и закрывает LUKS-диск. Вопрос: какую утилиту? От неё требуется только одно: получать время последней активности в каталоге. В принципе и сам могу набросать (fcntl( dir_fd, F_NOTIFY, ...), но не хочется изобретать велосипед.


Ответы (0 шт):