
何年も私を悩ませてきたのは、rootで実行されたコマンドのシェル履歴を取得するには、2つの異なる場所を確認する必要があることです。
- 確認してみてください
/root/.bash_history
。 /brian/.bash_history
コマンドを確認する必要がありますsudo
。
bashソリューションはありますか(または実際にどのsudo
shell - ターゲットユーザーのシェル履歴にコマンドを保存する切り替えを行いますか?
答え1
私はあなたが仮定働くそのプライベートUnixでは、私のようにルートで唯一のユーザーモードです。分裂した性格を避けるために、rootとしてログインします。今のところ - そんなこと知っています一種のセキュリティの質問。
システム管理者として、私はインストール、テストなどで忙しいので、ユーザーに満足のいくログインを提供できませんでした。
複数のコンソールおよび/またはxtermを使用している場合、bash履歴はまだ混乱しています。これまでに私が持っていた唯一の組織は、hist-keep
私がよく使ういくつかのコマンドを含む小さなファイルです。
検索したい場合私のものコマンドのシェル履歴ルートとして実行
検索するだけですか、それとも履歴ファイルを「ロード」して次のことを行いますか?過去の検索?
sudo
昨日はあまり浮かんでいませんでした。sudoと医者質問。 「sudo」と「pseudo」は英語で同じ発音を持っており、「kana」(または「alias」)を考えると、実際に意味論的なつながりがあると思いました。
Sudoは、実際にコマンドを個別に追跡することです。これは、「root」が「brian」(および他の人)が「root」という仮名で実行することを確認する方法です。
しかし、あなたはもっと欲しいです。マージ他の歴史。
私は解決策がhistory -r
ルートの履歴ファイルにsudo行を挿入するよりもファイルに関連していると思います。
応急処置ソリューションはもちろん簡単な関数/スクリプトです探す両方のファイルで次のようになります。
grep $1 $root-hist
grep "sudo.*$1" $user-hist
これにより、sudoroot-combigrep "mount"
「mount」を含むすべての関連行を取得できます。 (使いやすいタブの完成名を直接選択してください)