GNU/Linux >> Linux の 問題 >  >> Linux

Linux サーバーでファイルが消える

解決策 1:

解決策 1 :システムタップ
systemtap を使用して、.bashrc の inode で unlink() を使用しようとしているすべての PID を表示できます。 と .bash_profile ファイル。

systemtap とカーネルのデバッグ シンボルをインストールします。

unlink.stap という名前のファイルを作成します 次の内容で:

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

次に sudo stap unlink.stap で実行します

解決策 2 :通知する
inotify を使用して、ファイルがいつ削除されたかを確認することもできます。

解決策 3 :ftrace
別の解決策は、ftrace を使用することです:

trace-cmd record -e \*unlink\*

ファイルが削除されるのを待ち、CTRL+C を押して trace-cmd record ... を停止します 、次に実行:

trace-cmd report

解決策 4 :bpftrace
bpftrace をインストール 、次に実行:

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

解決策 2:

ミセアの回答に加えて、root としてファイルを chattr +i して、ファイルを削除しようとしたときにエラーがログに記録されるかどうかを確認できます。

解決策 3:

ユーザー自身が (誤って) それらを削除していないことを確信していますか?

同じ問題を抱えた無知な(Windows)ユーザーが何人かいました.ftpクライアントでホームディレクトリにアクセスするたびに、それらのファイルを自分で削除したことが判明しました..xxxxファイルに気づきました(ftpクライアントはそれらを隠しませんでした) 「混乱」を取り除きました。

そのうちの 1 人が、数日前に削除したファイルが自然に再表示されることについて不平を言うまで、彼らが自分たちでそれを行ったとは思いもしませんでした.

解決策 4:

ログアウト時に特定のファイルを消去するために、bash ログアウト スクリプト (~/.bash_logout) を使用しています。

解決策 5:

find /home/user -name filename -exec rm -f {} \; を実行している侵入者のようです。 彼のすべてのこっそりした後:)。推測ですが、バックアップ ファイルも削除されるとおっしゃっていました。


Linux
  1. Linuxサーバーのホスト名を変更する

  2. Linuxログファイル

  3. 管理 Linux サーバー

  1. Nagios Linux Server:最高の Web 監視ソリューション?

  2. Linuxで正規表現を使用してファイルの名前を変更する

  3. ファイルのテキストリストからの Linux (mv または cp) 固有のファイル?

  1. Linux –サーバー上の共有ディレクトリのアクセス許可の問題?

  2. Linuxの検索コマンド

  3. Linux ユーザーとパスワードを新しいサーバーにコピーする