1

私のシステムには 3 つの Samba 共有がマウントされていますが、そのうちの 1 つが私の許可なしにマウント解除されました。私のcrontabで実行される何百ものスクリプトの1つかもしれませんが、どのスクリプトかわかりません。

/var/log成功せずに単語を探しているすべてのディレクトリを確認しましたumount。次に、コマンド umount が実行されたときと、それを実行しているプロセスをログに記録したいと思います。

多分syslogで、多分別のログで、多分私のボックスへのメール....

どうもありがとう。

私はこのソフトウェアを持っています:

mount: mount-2.12q
mount.cifs version: 1.14-3.5.4
4

2 に答える 2

0

マウントはファイルシステムの変更であるため、inode-observer incron が解決策になる可能性があります。別のオプションは auditd かもしれません。

于 2011-10-25T11:14:01.610 に答える
0

アンマウントは、umount バイナリを呼び出すことによってのみ行われるのではなく、多くのプログラムで行われます。マニュアル ページ ( man syscalls) を参照し、umount を検索してください。つまり、対応するものをフックして、syscall誰がそれを呼び出しているかを確認する必要があります。よくわかりませんが、対応するメソッドを直接呼び出すことでカーネル内で切断できる可能性が最も高いため、主にユーザー空間の対話に必要な syscall インターフェイスを機能がバイパスする可能性があります。この場合、カーネル自体で何らかのデバッグ手法を使用する必要があります。これは、問題を見つけるのに少し役立つかもしれません!

smbd などの既に実行中のプロセス ( ) で strace を使用すると、成功する可能性がありman straceます。このプロセスが umount を呼び出すかどうかを確認してください。

とにかく、ソースからカーネルを再コンパイルできる場合はprintk、デバイスをアンマウントするために使用される関数内にメッセージを追加して、どのプロセスがそれを実行したかを確認できます (これは、を含む他に何も役に立たない場合の私のアプローチですstrace)。

于 2011-10-25T08:51:32.820 に答える