viの活動を記録できますか?


10

viの活動を記録する方法はありますか?別のユーザーがviエディター内のシェルに移動してコマンドを発行しているようです。これらのコマンドは履歴に記録されていないようです。

回答:


6

プロセスアカウンティングをオンにすることもできます(s / can / should /!)

その後、以下を使用できます。

lastcomm(1)

コマンドの実行と、execの有無にかかわらず、フォークの後に実行されたかどうかを確認します。

ホストベースのIDSと組み合わせると、「王の正義が彼に行われるために」必要なものが提供されます。


会計に関する良い点として+1。
Phil Hollenback、2011

7

現在、彼らの活動をどのように記録していますか?最も簡単なのは、viからシェルを起動できないようにすることです。

# vi /home/user/.exrc
set exrc
set shell=/bin/false
# chown root:root /home/user/.exrc
# chmod 644 /home/user/.exrc
# chattr +i /home/user/.exrc

特別なシェルを使用してコマンドをログに記録している場合は、viを変更してそのシェルのみを使用することができます。


+1は、viアクセスを制限するための優れた簡単な方法です。
Phil Hollenback、2011

2
しかし、バイパスするのは簡単に見えます: "vim -u / dev / null"。
jlliagre

はい、これは本質的に解決できない問題です。誰かがログインを介してシステムにアクセスした瞬間、彼らはマシンを破壊することができます。あなたができる最善のことは、それを本当に難しくすることです。
Phil Hollenback、2011

4

シェルの歴史について話していますか?viシェルモード(:sh)はユーザーのデフォルトシェルを起動します。それがbashの場合、グローバル/ etc / bashrcを編集して以下を追加することにより、履歴ロギングが常に有効であることを確認できます。

set HISTFILE=~/.bash_history
shopt -s histappend
PROMPT_COMMAND='history -a'

これにより、すべてのユーザーコマンドがファイルに記録され、上書きされず、シェルプロンプトが表示されるたびに更新されます。

ユーザーは個人的にこれを上書きできる~/.bashrcので、これはロギングが行われるという絶対的な保証ではないことに注意してください。

viの一部のバージョン(nviなど)は、viをとして起動することにより、シェルアクセスを無効にするセーフモードをサポートしていますnvi -S。グローバルエイリアスを設定して、/etc/bashrcデフォルトでこのモードを強制することもできます。

一般に、ユーザーが予期しない方法でシェルにアクセスするという問題は、典型的なUNIXの問題です。これを完全に無効にする方法はありません。最善の方法は、デフォルトでアクセスを制限することです。高度なユーザー(またはgoogleの使用方法を知っているユーザー)は、常にこれらの制限を回避できます。たとえば、ユーザーがシェルの履歴をログに記録したくない場合、使用したいオプションを使用して常にシェルの新しいコピーを実行することができます。

ここでは、bashでロギングを強制する方法と、ロギングを回避する方法についての優れた記事を紹介します。

最後に、ユーザーに何をしているのかを判断するために話しかけることを検討しましたか?99%の時間、単純な口頭でのコミュニケーションで混乱を解消できます。信頼できないためにこのユーザーのアクティビティをログに記録している場合は、懸念について話し合うことができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.