Вы можете использовать chroot
, чтобы установить корневой каталог дерева процессов. Это означает, однако, что все зависимости этого процесса должны быть доступны в его новом корне.
Существует ряд пакетов, которые могут помочь вам настроить chroot-среды для ваших нужд. Гугл твой друг;)
Некоторые указания по созданию среды chroot
При создании chroot для какой-либо программы или демона вы должны иметь полное окружение для программы, которую вы хотите chroot . Это означает, что вы должны предоставить минимальную систему в каталоге. Это может содержать:
- Оболочка и некоторые служебные программы оболочки или вариант busybox. (это также касается следующего шага, если вы не планируете развертывать один единственный статический исполняемый файл).
- Libc и другие зависимые разделяемые библиотеки.
- Вам необходимо проверить зависимости разделяемой библиотеки, используя
ldd
или objdump
. Каждая отображаемая библиотека должна находиться в вашем корневом каталоге private . Этот шаг может повторяться несколько раз для каждого исполняемого файла и библиотеки, которые вам нужны. Обратите внимание, что некоторые библиотеки, которые явно связаны во время выполнения с использованием dlopen
, необходимо проверять отдельно .
- В зависимости от того, что вы планируете chroot минимальное
/dev
дерево.
- Если вы планируете синхронизировать процесс демона, возможно, для этого потребуются минимальные файлы в
/dev
, такие как random
или zero
. Вы можете создать их с помощью команды mknod
. Пожалуйста, обратитесь к mknod
документации , а также к документации linux, на каких старших / младших номерах какое устройство должно иметь .
- Также в зависимости от того, что вы планируете chroot - это минимальное
/etc
. Необходимые файлы:
- Минимальный пароль и тень ( не пароль вашей системы / тень).
- Минимальный
mtab
, содержащий /
.
- Минимальный
group
(опять же не файл вашей системной группы).
Вы должны начать где-нибудь, поэтому лучше начать с предварительных условий для вашей программы. Подробнее см. В документации .