(1)
inotify
meldet keine Zugriffs- / Lese- / Schreibversuche für nicht vorhandene Dateien.
In der Tat werden sie nicht als Ereignisse behandelt, da diese Dateien überhaupt nicht existieren.
(2)
Was ich tun möchte, ist, wenn Clementine versucht, eine Datei in diesem Verzeichnis (/ mnt / crypt) zu öffnen, eine Eingabeaufforderung eingeblendet wird, die nach meinem Mount-Kennwort fragt und das Volume einbindet. Um zu funktionieren, muss der "read" -Syscall blockiert werden, während die Kennwort-Eingabeaufforderung angezeigt wird, damit der gelesene Syscall keinen Fehler sofort zurückmeldet, bevor ich die Möglichkeit hatte, meinen einzugeben Passphrase.
Das ist ziemlich kompliziert. Eine mögliche Lösung besteht darin, den open
Systemaufruf der glibc anzuhängen und Ihre eigene Version neu zu definieren. Ihre Version open
verhält sich genau wie das, was Sie beschreiben, je nach Datei / Verzeichnis, auf das ein Prozess zugreifen möchte.
Referenz:
http://en.wikipedia.org/wiki/Hooking
http://www.gilgalab.com.br/hacking/programming/linux/2013/01/11/Hooking-Linux-3-syscalls/