ユーザーが実行したコマンドをログに記録する方法

ユーザーが実行したコマンドをログに記録する方法

まず第一に、私は何年も snoopy を使ってきましたが、それは私にとって必要なものではなく、履歴ファイルを確認することも私にとっては解決策ではありません。

サーバーにプログラムをインストールするには、開発者に ROOT アクセス権を付与する必要があり、開発者がセッションを終了した後に履歴を削除することが分かっています。

サーバーを不正行為から保護するために彼が実行したコマンドを確認する必要があります。

コマンドをログに記録するための解決策はありますか?

答え1

プログラムをインストールするには、開発者に ROOT アクセス権を与える必要があります...

いいえ、そうではありません
書き留めるあるいは、もっと良いのは、脚本インストール手順を彼らに任せて、彼らに代わって実行します。
これは職務の分離と呼ばれます。彼らは開発者です。あなたはシステム管理者です。彼らそんなことをする彼らは(コードを書く、テストなど)が得意で、あなたそんなことをするあなたは得意なこと(機械を安全に保ち、効率的に稼働させることなど)。

... セッション終了後に彼が履歴を削除することはわかっています。

これはあなたの組織にとって「標準的な慣行」ですか? そうでない場合、なぜそうする必要があると感じているのですか?

サーバーを不正行為から保護するために彼が実行したコマンドを確認する必要があります。

あなたがそうではないことは明らかです信頼この開発者は
近くにこのサーバー
です。あなたの仕事そこに疑わしいものをインストールすることを許可した場合、危険です。

必要に応じて、問題を管理者にエスカレーションします。

答え2

ユーザーのアクティビティはすべて、psacct パッケージ

  • パッケージには、、、などpsacct、プロセス アクティビティを監視するためのユーティリティがいくつか含まれています。aclastcommacctonsa

  • このacコマンドは、ユーザーがログオンしている時間に関する統計を表示します。

  • このlastcommコマンドは、以前に実行されたコマンドに関する情報を表示します。

  • このacctonコマンドは、プロセス アカウンティングをオンまたはオフにします。

  • このsaコマンドは、以前に実行されたコマンドに関する情報を要約します。

RHEL/Fedora/CentOSへのインストール

# yum install psacct

Ubuntu/Debianへのインストール

$ sudo apt-get install acct

または

# apt-get install acct

RHELでは次のコマンドを入力して作成します/va/アカウント/pacctファイルを作成してサービスを開始する

# chkconfig psacct on

# /etc/init.d/psacct start

Suseで次のコマンドを入力して作成します/va/アカウント/pacctファイルを作成してサービスを開始する

# chkconfig acct on

# /etc/init.d/acct start

実行されたコマンドを表示するユーザー

$ lastcomm [USER]

関連情報