ファイルが欠落していて、そのファイルに何が起こったのか知りたいです。

ファイルが欠落していて、そのファイルに何が起こったのか知りたいです。

どういうわけか、ディレクトリにいくつかのファイルがありませんでした。誰が移動/削除しましたか?どうやって調べますか?

ディレクトリの履歴を取得できますか?

これは AIX 6.1 の汎用ユーザー・ファイルです。どのファイルシステムが使用されているのかわかりません。

答え1

無差別アプローチですべてのユーザーディレクトリへのアクセス権があり、すべてのユーザーがbashをデフォルトのシェルとして使用していると仮定すると、その履歴ファイルを検索できます。

grep 'deletedfilename' /home/*/.bash_history

最近削除されたと仮定すると、コマンドはユーザーのシェル履歴に保存され、ファイルを削除した人が誰であるかを知ることができます。また、それを拡張して他のシェルに対応するファイルを検索することもできます。たとえば、

grep 'deletedfilename' /home/*/.bash_history /home/*/.zsh_history 

答え2

移動された可能性がある場合は、以下を参照してくださいlocate。しばらく前に移動した場合は、最後の実行updatedb(通常は毎日)前に検索されます。

locate --existing --basename 'foo.txt'

または、短いオプションを使用してください。

locate -eb 'foo.txt'


見つからない場合は、このfindコマンドを使用できます。

find大きなディレクトリツリーでディレクトリを使用する前に、再帰的に検索するディレクトリを選択できる場所を推測してください。

点に注意してくださいリモートファイルシステム- たとえば、実行する前にfind /home -name foo.txt可能であることを確認してください。自動マウントすべてのホームディレクトリ -おそらく数千、そして、あなたがこれをしたいか。

答え3

terdonでおすすめの検索の他、フォルダ名でも検索が可能です。

したがって、誰かがワイルドカードを使用してファイルを削除(または移動)すると、履歴ファイルに指定されたファイル名が見つかりません。

たとえば、誰かがこれを行うと:

$ cd /home/mydir
$ rm *
    Or
$ cd somewhere-else
$ mv /home/mydir/* .

履歴にファイル名を見つけることはできませんが、見つけることができます。mydir

だからこれも試してみてください:

grep 'mydir' /home/*/.bash_history /home/*/.zsh_history 


返品:これが可能かどうかはわかりませんが、ディスククォータを超えた後に一部の自動クリーンアップが発生する可能性があります。これは非常に残酷な方針ですが、私はそれが可能であり、おそらく見る価値があると思います。

関連情報