[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: