2017-03-28 7 views
0

多くのユーザが同じアカウントを持っていて、それらのコマンドの出力なしでそれぞれが実行するコマンドを追跡したいと思っています。ユーザ入力をログに記録する方法

teeにパイプを通してみましたが、これは素晴らしい結果でした。 scriptも同じことをしました。私が試した別の解決策はstraceを使用していたが、どちらもパスワードをキャプチャできるキーストロークを与え、サブシェルで何が起こるか教えてくれないか、少なくとも正しく使用する方法を理解できなかった。私はまた、興味深いリダイレクトのすべての種類を試してみましたが、提案されたソリューションのすべてがbashのためにtcshでつかまえている間、私はちょっと待っていました... 私は誤ってパスワードを取得したくないので、テキストエディタを立ち上げたら、人々は何をするのか分かりませんが、私はそれで暮らすことができます。

完璧な解決策は、「エコー」をキャプチャすることです。つまり、ユーザーがリターンしたときにユーザーがシェルに送信するものですが、Googleが参考になる十分な質問を策定することはできませんでしたその正面。 誰かが正しい方向に私を向けることができますか?

* iのルートprivilages

を持っていない考慮に入れ編集が

:残念ながら、須藤の私たちのバージョンが< 1.7.4p4

+1

これは[** 'sudo' **](https://www.sudo.ws/)の仕事です。管理者に権限のあるアクセスを必要とするすべての人をグループに入れ、適切なコマンドエイリアスでsudoを構成し、共有されているシステム上のすべてのパスワードを変更することをお勧めします。パスワードはバブルガムのようなものです。彼らはあなた自身に守られなければなりません。 – ghoti

+0

私は実際にアカウントを「sudo su」しています。私は/ var/log/secureが私が探しているものを保持することになっていることを理解していますが、rootにアクセスできないので、これは役に立ちません。\ – Nullman

答えて

0

sudo suだけではsuよりもはるかに良いではないですが、 あなたがかもしれませんsudoers(5)のマニュアルページにあるLOG_INPUTLOG_OUTPUTタグを使用してI/Oロギング機能を有効にしたいと考えています。

log_input

    設定した場合、 sudoは擬似TTY でコマンドを実行し、すべてのユーザー入力を記録します。 I/Oリダイレクトまたはコマンド がパイプラインの一部であるため、標準入力がユーザーのttyに接続されていない場合、その入力は にキャプチャされ、別のログファイルに格納されます。

    入力はTSID=接頭辞通常sudoのログ行に含まれている一意のセッションID を、使用してiolog_dirオプション (デフォルトでは/var/log/sudo-io)で指定したディレクトリに記録されます。 iolog_fileオプションを使用して、 にセッションIDの形式を制御することができます。

    ユーザ入力には、パスワード などの機密情報が含まれている可能性があります(画面にエコーされない場合でも)。暗号化されていないログファイルに保存されます。ほとんどの場合、log_outputを介してコマンド出力を記録するだけで十分です。

log_output

    設定した場合、 sudoは擬似TTYでコマンドを実行し、スクリプト(1)コマンドのような画面に送信されるすべての出力を記録します。 標準出力または標準エラーがユーザーのttyに接続されていない場合、I/Oリダイレクトまたはコマンドがパイプラインの一部であるため、その出力もキャプチャされ、別々のログファイルに格納されます。

    出力はTSID=接頭辞通常sudoのログ行に含まれている一意のセッションID を、使用してiolog_dirオプション (デフォルトでは/var/log/sudo-io)で指定したディレクトリに記録されます。 iolog_fileオプションを使用して、 にセッションIDの形式を制御することができます。

    出力ログは、利用可能なログの一覧表示や検索にも使用できるsudoreplay(8)ユーティリティ で表示できます。

visudoを使用してsudoersファイルを変更します。これらの2つのタグを、グループへのアクセス権を提供するすべてのsudoエントリに追加する必要があります。たとえば:

%admins   ALL=(ALL) NOPASSWD: LOG_INPUT: LOG_OUTPUT: ALL 

またiolog_dirオプションでログの場所を設定する必要があります。例:

Defaults iolog_dir=/var/log/sudo-io/%{user} 

最低限、sudoバージョン1.7.4p4が必要です。

+0

はい、私は彼の解決策を試したかったが、古いバージョンのsudoを持っていた – Nullman

+0

sudoをアップグレードする時間。 – ghoti

+0

静的プロジェクト環境、残念ながら:\かなりピンク – Nullman

関連する問題