Re: Zugriff auf Dateien/Verzeichnisse überwachen?
Hallo!
Stephan Mueller wrote:
> oho, vielen Dank für den Patch! Ein kleines Problem gibt es damit
> allerdings: Ich habe es hier noch mit einem 2.4er Kernel zu tun.
>
> Die Funktion vfs_unlink sieht allerdings durchaus so aus, als ob Dein
> Patch noch (bzw. schon) passen könnte:
>
> [...]
>
> Was denkst Du?
Hm, sollte eigentlich noch passen. Ich habe gerade diese Zeilen mal an
den Anfang von vfs_unlink eines 2.4.30-Kernels gesetzt, das Kompilieren
klappt schon mal (hier mit Ausgabe der Prozess-ID statt des Namens):
if (current) {
printk("%s deleted by %d\n", entry->d_name.name, current->pid);
}
> > + if (current) {
>
> Was ist dieses current für ein Teil? In den 2.4er Quellen wird das auch
> gelegentlich genutzt, aber ich habe von Kernel-Programmierung (bisher)
> keine Ahnung. Bekommt man darüber auch die pid raus?
Prozesse werden innerhalb des Kernels durch task_struct-Variablen
repräsentiert (task_struct ist in include/linux/sched.h definiert). In
diesen Variablen sind alle Informationen zu einem Prozess zu finden
(Zustand, offene Dateien, pid, etc.). current liefert bzw. steht für die
task_struct-Struktur des aktuell laufenden Prozesses (hier: für den
Prozess, der unlink aufgerufen hat).
Schönen Gruß,
Wolf
--
Fit für Kinder? Der Anzieh-Test: Besorge Dir einen großen, lebendigen
Tintenfisch. Versuche, diesen in ein kleines Einkaufsnetz zu stecken und
stelle sicher, dass Du auch wirklich alle Arme im Netz verstaust.
Reply to: