Ist es möglich, unter Linux einen Prozess in Chroot mit virtuellem /proc-Dateisystem auszuführen?

Ist es möglich, unter Linux einen Prozess in Chroot mit virtuellem /proc-Dateisystem auszuführen?

Ich muss einen Prozess in einem Chroot mit einem virtuellen /proc-Dateisystem ausführen, sodass der Prozess keinen Zugriff auf andere Prozesse auf demselben Host hat. Der Prozess muss unter Root ausgeführt werden und vollen Zugriff auf Dateien im Chroot haben. Außerdem müssen alle Änderungen am Dateisystem im Chroot-Verzeichnis erhalten bleiben.

Ist es überhaupt möglich?

Antwort1

Es ist möglich, /proc in einer Chroot-Umgebung zu mounten - siehediese Antwortfür weitere Informationen.

Ich hätte Bedenken, dass das Programm keinen Zugriff auf andere Prozesse erhalten könnte, da auf viele (wenn nicht alle) dieser Informationen über /proc zugegriffen werden kann (über /proc/[PID-Nummer] erhalten Sie Zugriff darauf).

Es ist unklar, was Sie mit „Änderungen am Dateisystem“ meinen, aber wenn diese Änderungen das Dateisystem mit Ausnahme spezieller Teile wie /proc, /dev/ usw. betreffen, bleiben diese im Chroot.

Antwort2

Sie können dies mithilfe von Linux-Namespaces erreichen. Container (Docker, lxc) werden aus diesen erstellt. man unshareist Ihr Freund. Beachten Sie, dass Angreifer leicht entkommen können, chrootwenn Sie es unsachgemäß verwenden. Informieren Sie sich darüber, bevor Sie es verwenden. Sie wurden gewarnt.

verwandte Informationen