system management
1753702 メンバー
4968 オンライン
108799 解決策
新規ポスト

コマンド実行の監視をしたい

 
J_S
時折のアドバイザー

コマンド実行の監視をしたい

あるコマンドが知らないうちに実行されて困っています。

具体的には、Apachectlが私の知らないところで実行されており、HTTPDが停止しています。

Apacheのログから、Apachectlが実行されていることがわかりましたが犯人を突き止めたく思います。

「apachectl」コマンドを実行した日時と

実行ユーザを監視・ログ出力する方法が

ありますでしょうか。

どうぞよろしくお願いいたします。
6件の返信6
whatisthis
レギュラーアドバイザー

コマンド実行の監視をしたい

shirokumaさん、こんにちは。

HPWSには明るくないので起動停止をどこかに残すような機能があるかは知りませんが、

あなたが管理者でなければ、システム管理者に聞くのが妥当だと思います。

「ああ、あのとき起動したよ」とか

「外部の作業者が開発に使ってた」とか

何か教えてくれるかもしれません。

もし不特定多数がrootログインできる環境だったら

何とも言えないですが。

whatisthis
レギュラーアドバイザー

コマンド実行の監視をしたい

ふとおもったのですが、

コマンド実行全般ということで.historyなどでは

駄目なのでしょうか。。。

N.Hanyu
貴重なコントリビューター

コマンド実行の監視をしたい

アカウンティングを使用すればある程度は分かるのでは

ないでしょうか。

現在、アカウンティングを使用していないのであれば、

Apacheのログから、停止時間を割り出して、

同様の時間にログインしている情報を、lastコマンド

等で追跡など。

これは、本番環境等で、ログインの少ないサーバなら

それなりに有効ですが、アクセスの多いサーバだと

あまり絞り込めないですが・・・。

素直に、Apacheを停止するであろうグループに

確認してみるのが近道な気もします。
cf
レギュラーアドバイザー

コマンド実行の監視をしたい

こんにちは

accountingを設定するのが正当な手順でしょうが、

apachectl だけを追跡するだけのためには大げさだと

いうことであれば、apachectlをラップする方法もある

かと思います。

1. /opt/hpws/apache/bin/apachectl の名前か場所を

変えて、そのままでは実行できなくする。

2. 以下のようなシェルを/opt/hpws/apache/binに

apachectl としてオーナー、モードを元に合わせて

配置する。

#!/usr/bin/sh

date >> /tmp/apachectl.log

who -mR >> /tmp/apachectl.log

echo >> /tmp/apachectl.log

/opt/hpws/apache/bin/apachectl2 $*

3. ログを監視する。

ただし、apachectlの場所が変わることで、正常に

動作しなくなるといった、副作用も考えられますので、

自己責任でお願いします。

J_S
時折のアドバイザー

コマンド実行の監視をしたい

ご回答ありがとうございます。

しかし、残念ながら私が管理者だったりします。^^;

ひょっとしたら内部プログラムが自動実行してる

可能性もあります。
J_S
時折のアドバイザー

コマンド実行の監視をしたい

accountingと2番目の方法、なるほどです!

頂いた方法をもとに実践してみます。

ありがとうございました!