2011-02-22 4 views
1

可能性の重複:あなたのプロセスは、Linux上でのchroot()環境で実行されているかどうかを検出する
Detecting a chroot jail from within私はchroot()環境でUID 0でなくても動作していますか?

は比較的簡単です:/ procの/ 1 /のデバイス/ inodeを比較することにより、ルートと/。しかし、それは/ proc/1/rootのstat()へのアクセスを必要とします - 残念ながら特権があります。

私は、同じことを達成する良い方法を探していますが、そのための特権を必要としません。誰も私を助けることができますか?私の非特権コードは、chroot()環境で実行されているかどうかをどのように検出できますか?

+0

Hmm。これはunix.SEに属している可能性があります。 – Earlz

+1

@user:VM内のユーザモードのLinuxインスタンス内にchroot内にロックされています。それはトリプルキックをアレンジする唯一の方法でした。 –

+0

これはなぜ「正確な重複」として閉じられたのですか?仮定された正確な複製は、UID!= 0のものをカバーしていません。これを複製として閉じた人々は、私の質問を読むことさえ気にしませんでした。 – user175104

答えて

4

見つかった場合は、バグとして報告する必要があります。 chroot()の全ポイントは、誰かが特権なしでそのヒントを放棄しないように保護された環境を作ることです。

+0

私たちのバイオ電池は、それらがマトリックスの奴隷であることを認識できません。 –

+0

明らかに、正しい答えは「青い丸薬を取る」です。 –

+0

chroot()は本当にセキュリティツールではありません。少なくとも何もせずに使用されていない場合。 /../に類似したchrootを実行することで、簡単にchroot()をエスケープすることができます。 "/"が意味するもののまわりを移動するだけですが、実際にはセキュリティとはあまり関係がありません。 – user175104

関連する問題