web-dev-qa-db-ja.com

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

ユーザーのホームディレクトリから消えていくように見える4つの特定のファイルがあります。私たちが知る限り、それらを削除するcronjobまたは他の自動化されたタスクはありません。私はそれらに監査を設定しましたが、ログは実際には何も興味を示していません。バックアップユーティリティが毎晩これらのファイルにアクセスするのを、それらが存在しなくなるまで見ることができます。これらのファイルが削除される原因となって、auditdを回避できるものはありますか?

問題のファイルは次のとおりです。

/home/username/.bashrc
/home/username/.bash_profile

また、そのユーザーの.sshディレクトリにあるいくつかのファイル。 「キーパー」と呼ばれるサブフォルダーに配置されたこれらのファイルのコピーも同時に削除されます。それらのアクセス許可を000に変更し、それらをrootに所有させることは役に立ちませんでした。

私は現在、そのサブフォルダーでcreate、delete、moveをログに記録するinotifywaitセットアップを持っているので、何かが発生することを期待しています。

13
Chad P

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

5
Sirex

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

同じ問題を抱える無知な(Windows)ユーザーがいました。 ftpクライアントでhome-dirにアクセスするたびに、これらのファイルを自分で削除していることがわかりました。彼らは.xxxxファイルに気づき(ftpクライアントはそれらを隠しませんでした)、「乱雑さ」を取り除きました。

彼らの1人が数日前に削除したファイルが自発的に再表示されることについて不平を言うまで、彼らが自分でそれをしたことは決してありませんでした。

4
Tonny

ログアウト時に特定のファイルをクリーンアップするためにbashログアウトスクリプト(〜/ .bash_logout)を使用します-ファットフィンガーグロブが設定されているかどうかを確認します。

3
Ram

find/home/user -name filename -exec rm -f {} \;をやっている侵入者のように見えます。バックアップファイルも削除されているとおっしゃっていたからです。

2
SparX

ファイルとその内容が失われないようにするには、LD_PRELOADを使用して libtrash を設定できます。 libtrashを使用すると、さまざまなことができますが、あなたにとって興味深いものは、

INTERCEPT_UNLINK
INTERCEPT_RENAME
INTERCEPT_FOPEN
INTERCEPT_OPEN

Libtrashについての良い記事が見つかります ここ

あなたが言及する他のことは、あなたはルートにファイルをchownしたが、それらはまだ削除されたということです。これは、/ home/usernameがユーザー名によって所有されているためです。 dirがmod 755と言った場合。次に、ユーザーが誰を削除できるかに関係なく、そのディレクトリ内のファイルまたはディレクトリを所有します。 rootsファイルやdirであっても。これは基本的に、dir内のファイルを削除すると、dirの内容が変更され、ユーザーはそのdirの7(755)を持っているため、彼が好きなようにできるという事実によるものです。

他の人がすでにファイルを不変(+ i)に設定するためにextファイルシステムのchattrを介して提案したように、これをブロックする方法があります。次に、+ iフラグを持つfile/dirに変更を加える前に、不変フラグを設定解除する必要があります。不変フラグ/ chattrはrootのみが使用できます。

1
Hrvoje Špoljar