プロセスを刑務所に入れた後、刑務所の外にあるライブラリに
chroot
アクセスできます。libc.so
なぜ、またはどうやって?刑務所外のファイルを参照するソフトリンクがある場合、メインファイルにアクセスできますか?
chroot
マルチスレッドアプリケーションで使用できますか? または、1 つのスレッドからルート ディレクトリを変更すると、プロセス全体のルート ディレクトリが変更されますか?chroot
この関数は本当の安全な環境を提供しないと読みましたが、Linux で代替ソリューションはありますか?
質問する
1439 次
1 に答える
1
- を呼び出す前に開いていた限り、
chroot
独自のバイナリのように開いたままです。ただし、特権操作であるため、それを呼び出すプロセスはおそらくIDを変更して実際のプロセスを実行し、chrootで利用できない限りchroot
アクセスできません。libc.so
- ソフト リンクはプロセスの名前空間で解決されるため、
chroot
. - よくわかりません(そうではないのではないかと思います)。特権操作であるため、マルチスレッド化されていない単純なラッパーで実行されますが、chroot 後にのみマルチスレッド アプリケーションを起動し、すべてのファイル ハンドルを閉じ、現在のディレクトリを chroot に変更し、特権を削除するため、通常は問題になりません。 .
- Chroot は安全ではありません。root は簡単に逃げることができます (たとえば、デバイスを再度マウントすることにより)。安全なプロセス分離を提供するLinux-Vserver、lxc、およびOpenVZがあります。LXC はcgroups Linux 機能 (カーネル 2.6.29 以降) を使用しますが、他の 2 つはカーネルにパッチを適用する必要があるようです。1 つのアプリケーションを投獄する必要がある場合は、自分で cgroup をセットアップすることもできます。
于 2011-05-03T09:28:33.427 に答える