Datei-ID, die sich beim Umbenennen nicht ändert

Datei-ID, die sich beim Umbenennen nicht ändert

Ich versuche, ein Systemdienstprogrammskript zu schreiben, das als Cron-Job ausgeführt wird und Dateisystemstatistiken sowie Umgebungseinstellungen erfasst, um so viele Änderungen wie möglich zu verfolgen.

Betrachten Sie die folgende Zeitleiste

T0: there is a file /dir/fileX.txt
T1: job runs and captures every file and its stats (permissions, size, checksum etc), including /dir/fileX.txt
T2: mv /dir/fileX.txt /dir/fileY.txt
T3: job runs again and recaptures the file system.  But all it can tell is that fileX.txt was deleted and fileY.txt created

Gibt es eine Datei-ID, die sich nicht ändert, wenn ich die Datei umbenenne, sodass ich alle Dateien nach der ID und nicht nach dem Namen sortieren kann? Auf diese Weise würde ich bei T1 die Datei sortieren, aber diese ID und nicht den Namen, und der Dateiname wäre nur ein weiteres Attribut. Bei T3 kann ich erkennen, dass es sich um dieselbe Datei handelt, der Name sich aber geändert hat, da die ID gleich bleibt.

Antwort1

Klingt, als ob Sie nach Inodes suchen. Das Referenzieren von Dateien anhand ihres Inodes ist eine gute Möglichkeit, einige häufige Probleme mit Dateinamen zu umgehen (z. B. beim Versuch, eine Datei mit dem Namen „test*“ zu löschen, was rm normalerweise abschrecken würde) und sollte Ihnen in Ihrem speziellen Fall ermöglichen, auf das Objekt zu verweisen.

Antwort2

Die erste Antwort, die ich Ihnen geben würde, wäre, eine MD5-Summe für die Datei auszuführen und die Ergebnisse zu speichern.

Nachdem ich mich an einealter Artikelüber Dateisysteme mit Prüfsumme.
Nach diesem Konzept gibt es eine experimentelle Option mitext4-Dateisysteme.

Da ist einBericht von 2013das definiert diese Funktion von ext4 experimentell, aber immer besser als Btrfs. Der Autor hat ein Skript geschrieben, um diese Stabilitätsprobleme zu überwinden, das für jede Datei eine Prüfsumme generiert und diese als erweitertes Attribut speichert. Skript und Anleitung finden Sie im Bericht.

Möglicherweise ist eine dieser Lösungen für Sie geeignet.

Antwort3

Ihre Frage klingt, als bräuchten Sie ein angepasstes, hostbasiertes Intrusion Detection System.

Sehen Sie sich einige davon an, um zu prüfen, ob Sie es nach Ihren Wünschen kompilieren oder konfigurieren können.

Einige Namen:samhain tripwire aide

verwandte Informationen