GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Dateien verschwinden auf Linux-Server

Lösung 1:

Lösung 1 :Systemtipp
Sie können systemtap verwenden, um alle PIDs anzuzeigen, die versuchen, unlink() auf dem Inode von .bashrc zu verwenden und .bash_profile Dateien.

Installieren Sie systemtap und die Debug-Symbole für Ihren Kernel.

Erstellen Sie eine Datei mit dem Namen unlink.stap mit folgendem Inhalt:

probe syscall.unlink
{
    printf ("%s(%d) unlink (%s) userID(%d)\n", execname(), pid(), argstr, uid())
}

Führen Sie es dann mit sudo stap unlink.stap aus

Lösung 2 :inbenachrichtigen
Sie können auch inotify verwenden, um zu sehen, wann die Datei gelöscht wird.

Lösung 3 :ftrace
Eine andere Lösung ist die Verwendung von ftrace:

trace-cmd record -e \*unlink\*

Warten Sie, bis die Datei gelöscht ist, drücken Sie STRG+C, um trace-cmd record ... zu stoppen , dann führe aus:

trace-cmd report

Lösung 4 :bpftrace
Installieren Sie bpftrace , dann führe aus:

bpftrace -e 'tracepoint:syscalls:sys_enter_unlink* { printf("%s %s\n", comm, str(args->pathname)); }'

Lösung 2:

Zusätzlich zu der Antwort von mousea können Sie die Dateien als root +i chatten und sehen, ob beim Versuch, sie zu entfernen, ein Fehler protokolliert wird.

Lösung 3:

Sind Sie absolut sicher, dass der Benutzer sie nicht (aus Versehen) selbst löscht?

Ich hatte einige ahnungslose (Windows) Benutzer mit dem gleichen Problem. Es stellte sich heraus, dass sie diese Dateien jedes Mal selbst löschten, wenn sie ihr Heimatverzeichnis mit einem FTP-Client besuchten. Sie bemerkten die .xxxx-Dateien (der FTP-Client versteckte sie nicht). und entfernte die "Unordnung".

Mir ist nie in den Sinn gekommen, dass sie es sich selbst angetan haben, bis sich einer von ihnen über die spontan wieder aufgetauchten Dateien beschwerte, die er einige Tage zuvor gelöscht hatte.

Lösung 4:

Wir verwenden Bash-Logout-Skripte (~/.bash_logout), um bestimmte Dateien beim Abmelden zu bereinigen - Sie können überprüfen, ob Sie diese Einrichtung haben, vielleicht mit einem dickfingrigen Klumpen darin.

Lösung 5:

More scheint ein Eindringling zu sein, der find /home/user -name filename -exec rm -f {} \; durchführt nach all seinem schleichen :). Nur eine Vermutung, weil Sie erwähnt haben, dass die Sicherungsdateien auch gelöscht werden.


Linux
  1. Linux – Berechtigungsprobleme für freigegebenes Verzeichnis auf einem Server?

  2. Linux-Suchbefehle

  3. Ändern Sie den Hostnamen eines Linux-Servers

  4. Migrieren eines Linux-Servers über die Befehlszeile

  5. Übertragen Sie Dateien zu oder von einem Linux-Server ohne FTP

So finden Sie Dateien unter Linux

Finden Sie große Dateien in Linux

Rm-Befehl unter Linux

Installieren Sie Velociraptor unter Linux

ls-Befehl unter Linux/UNIX

Dropbox für einen Linux Cloud Server eingerichtet