web-dev-qa-db-ja.com

ダーウィンのcgroupsアナログ

fork()を使用して、プロセスが親プロセスの制御/監視から逃れるのを防ぐための、ダーウィンのcgroupsに類似したものはありますか?はいの場合、それは何ですか?

いくつかの背景について、プロセスP、直接の子孫Q、およびQの子孫Rを考えてみましょう。cgroupsにより、PはQとRを制御および監視できます。PがQを起動したが、Qがプロセスを生成した場合(Rのr) 、cgroupsに似たものがないと、Pはrを監視できません。

これの実際の例は、デーモンとしてopensshのsshd(Q)を生成するsystemd(P)であり、次に、開かれた各セッションを処理するためにsshd(R)の他のインスタンスを生成します。 cgroupがないと、systemdはセッションごとのsshdと対話できません。

(NT環境では、cgroupsは ジョブオブジェクト に類似しています。)

2
user314104

正確には、彼らは何から「逃げる」べきではないのでしょうか? chrootjailsを確認することをお勧めします(DarwinはBSD派生物であるため、この最後のBSDismが利用できる可能性があります)。注意してください、本当にプロセスをエスケープできないケージに入れるのは簡単ではありません。

2
vonbrand