確かに多くの人がスクリプトプログラムを使用してコマンドラインセッションを記録しました。
そして、誰かが疑問に思った、それはシステムのユーザーのセキュリティの改善/監視/妥当性のチェックのフレームワークでそれを使用することが可能ですか?
好奇心のために、システムのすべてのユーザーにスクリプトを固定し、その結果を確認することにしました...
#!/bin/sh
if [ "$TERM" != "" ]; then
DATE=`date +%F.%H.%M`
FOLDER= "/tmp/"
exec script -q -t $FOLDER$USER.$DATE 2> $FOLDER$USER.$DATE.time
else
/bin/sh $*
fi
このようなスクリプトを/ etc / profileに追加します(gentooでbash.shファイルに保存し、/ etc / profile.d /ディレクトリに配置しました)。
SSHを使用するか、他の方法でパフォーマンスを確認できます。
/ tmpに、test.2010-03-25.20.01やtest.2010-03-03.20.20.01.timeなどのファイルが表示されます。
c .timeファイルには、セッションのタイミングに関するすべての情報が含まれています。
ファイルが作成された場合、果物を確認するには、次を実行します。
scriptreplay test.2010-03-25.20.01.time test.2010-03-25.20.01
見て楽しんでください。
私はすぐに欠陥を言いたいです:
1 sshユーザー@ host / bin / bash -iに接続すると、何も記録されません=(
この方法の主な関心は、新しい管理者の仕事をフォローし、彼らの方法を確認したいという欲求から来ました(貧しいものの後ろに立ってはいけません)。
/ tmpの代わりに別のディレクトリ、たとえば/ opt / sessionsを作成し、アクセス許可を設定することもできます。
chmod 733 /opt/sessions
すべてのセッションが書き込みできるように、ユーザーはこのディレクトリのリストを作成できませんでした。
UPD:execのヘルプをありがとうunera