多分私は少し妄想的になっています。最近、Mac OS X10.8.2を搭載した私のMacBookProは、通常とは少し異なる動作をしています。
最後に奇妙なことが起こったのは、iTerm2でSudoを実行しようとすると、「XXXXがsudoersファイルにありません。このインシデントが報告されます」というメッセージが表示されることです。更新のプロンプトが表示された後、iTerm2を更新しました。標準のMacOS X端末では、すべてがスムーズに機能します。
ストックターミナルで動作するルートキットになることはできますか?
助言がありますか?
あなたは/etc/sudoers
ファイルにいると思います。したがって、ストックターミナルでは期待通りに動作しています。また、他のハックのルートキットが自分のsudoers
ファイルからあなたを削除するのは奇妙なことです。ルートキットは、攻撃者への追加アクセスを有効にしますが、通常のユーザーへのアクセスを無効にしないでください(機能の破損が注目される場合は、ルートキットの目的とは正反対です)。
したがって、これまでのすべての症状は、攻撃ではなく、iTerm2のバグを示しています(特に更新したばかりなので)。
私の推測では、iTerm2はその割り当て方法を変更しました 疑似端末 。 Unixシステム(MacOS Xを含む)では、コマンドラインユーティリティはターミナルと呼ばれる特別なデバイスで実行する必要があります。これは、文字だけでなく、指定された数の列と行を持つ「端末サイズ」などの概念も処理する入出力デバイスです。これは、 あれ (VT220で多くのコーディング時間を費やした)のような本当に具体的なハードウェアが存在する端末の時代から来ています。あまり古くないシステムでは、グラフィックカード、数百万のピクセルと色、およびターミナルエミュレータがあります。これらはiTerm2のようなアプリケーションであり、まだ存在すると信じています。マシンに接続されている端末。その仕事をするために、端末エミュレーターはカーネルから疑似端末のペアを取得します:これらは2つの デバイスです (つまり、特殊ファイル)。1つはシェルおよびコマンドラインアプリケーションにとって真の端末のように見え、もう1つは前者の後方ビューを提供します。ターミナルエミュレータは、2番目の疑似端末からの読み取りと書き込みを、画面上に文字を描画するようなグラフィカルな概念に変換します。
したがって、Sudo
は、iTerm2によって割り当てられセットアップされた疑似端末で実行されます。 Sudo
は端末にうるさいことが知られています。たとえば、 manページ のrequiretty
オプションを参照してください。 「セキュリティ上の理由から」(常にお気に入りの言い訳)、Sudo
は、端末が何らかの形で「本物」であり、オペレーティングシステムからの実際のセッションにリンクされていることを要求する場合があります。これらのSudo
要件と互換性を持たせるために、ターミナルエミュレーターは、複雑な儀式ダンスでさまざまなフープを飛び越える必要があります。 iTerm2の更新により、Sudo
が異端を宣言し、メッセージを説明するあいまいなパラメーターが変更された可能性があります。
調査手順として、標準のターミナルとiTerm2で次のコマンドを起動してみてください。
id
ls -la `tty`
w
最初のコマンドは(マシンの観点から)あなたが誰であるかを示し、2番目のコマンドはアクセス権を持つ現在使用中の疑似端末デバイスを示し、3番目のコマンドは現在開いている「セッション」を示します(次に対応する端末)。 2つの端末間の不一致は、問題の最も近い原因を示している可能性があります。