投稿ナビゲーションこの記事は公開から1年以上が経過しています。内容が古い場合があるのでご注意下さい。Loggerとは、Linuxのコマンド実行履歴をsyslogで記録してくれるツールです。これまでbashでやったり、historyやscriptを使っていましたが、よさげなツールなので紹介したいと思います。syslogちなみに今回は、CentOS6を対象にしています。インストールインストール方法は、3種類あります。自動インストールSTABEバージョンとDEVELOPMENTバージョンがあります。ソースからインストール(ビルド)一番簡単な自動インストールでインストールしてみます。自動インストールの場合STABLEバージョンは以下のコマンドでインストールします。socatなどが必要になるので、事前にepelリポジトリが使えるようにしておきます。stableDEVELOPMENTバージョンは以下のコマンドでインストールします。git-masterインストーラが実行されると、OS種別が自動判断されて、各ディストリビューション標準のパッケージマネージャによって、必要なツールがインストールされていきます。(試した環境はCentOSだったのでyumでgccやsocatなどがインストールされました。installされていきます。STABLEバージョンのインストールが完了すると、以下のようなメッセージが出力されます。自動インストール時に実行されるconfigureオプションは以下になります。--enable-filtering操作ログ記録されたログは下記のいずれかにストアされます。/var/log/auth*/var/log/messages/var/log/secureどこにストアされるかは、利用環境のsyslogの設定に依存します。手元のCentOS6では、/var/log/secureに出力されていました。操作ログには、cdやpwdといった、ビルトインコマンドは記録されません。対象コマンドがビルトインコマンドであるかどうかは、typeコマンドで確認できます。コマンドはビルトインコマンドです。Snoopyの有効化と無効化インストールしたら自動的に有効になっています。無効にするには以下のコマンドを実行します。snoopy-disable再度、有効にするには以下のコマンドを実行します。snoopy-enable手動で無効にするには、/etc/ld.so.preloadを編集して、libsnoopy.soのある行を削除します。CentOS6の環境では、以下の様になっていましたので、この一行を消すことになります。/etc/ld.so.preload/usr/local/lib/libsnoopy.so実体は、/usr/local/sbin/以下に同名のシェルスクリプトがあり、これが実行されています。このスクリプトの中で、/etc/ld.so.preloadの中身をsedで消したり、リダイレクトで設定を追加したりしています。有効/無効が反映されるタイミング一旦、有効/無効を変更すると既にログイン中のユーザについては、設定が反映されません。新規にログインしてきたユーザの操作に対して、設定が反映されます。設定ファイル設定ファイルは、/etc/snoopy.iniです。ログのフォーマット指定や、出力ファイルの指定などが可能です。試しに、以下のように変更してみます。設定ファイルは、outputとmessage_formatの2つの項目を変更します。socket:/var/run/socket-for-snoopy.sockこの設定変更も、無効化/有効化の変更時と同じように、新規ユーザの接続から有効になります。実際にログインし直すと、新たに「/var/log/snoopy.log」ファイルが作成されて、操作ログが記録されています。yumでインストールする場合epelレポジトリからインストール可能です。snoopyしかし、これではまだ利用できませんので、下記のドキュメントにあるように、2つほどコマンドを実行します。snoopyで確認します。/var/log/secure以下のコマンドを実行します。LD_PRELOAD=/lib64/snoopy.soこれで、新規ユーザから/var/log/secureに操作ログが記録されていきます。設定ファイルが無い/etc/snoopy.iniのような設定ファイルが利用できるのはバージョン2.0.0以上です。yumでインストールされるバージョンは、snoopy-1.7.10-1.el6.x86_64です。有効化/無効化コマンドが無い/etc/ld.so.preloadから/lib64/snoopy.soの行を削除したり追加することで、有効/無効を切り替えます。個人的感想yumでインストールできるのが古いバージョンになってしまうのが、個人的には気になりますが、bashで同じことをやるよりは導入し易いのではないかと思います。CLIのインストール方法についてです。コメントをキャンセルメールアドレスが公開されることはありません。I?雲人2号クラウドとOSSとMacが好きな人。仕事はAWSエンジニア。kumonchu.com。