Никогда не использовав xinc сам, я могу лишь намекнуть, как обычно я получаю приложения для синхронизации.
Первым шагом будет сбор информации обо всем, что необходимо приложению для запуска; Обычно я выполняю это с помощью systrace (1) и ldd (1) , чтобы выяснить, что необходимо для запуска программного обеспечения.
Пройдите вывод
systrace -A -d. <app>
ldd <app>
и убедитесь, что все, к чему приложение прикасается и что ему нужно (довольно много приложений касаются того, что ему на самом деле не нужно), доступно в среде chroot. Возможно, вам придется немного настроить конфиги и переменные окружения. Кроме того, если есть возможность иметь журнал приложения в системном журнале, я обычно делаю это и создаю сокет системного журнала (см. Параметр -a syslogd (8) ), чтобы уменьшить количество мест, в которых приложение нужен доступ для записи.
То, что я только что описал, - это общий способ заставить практически любую программу работать в среде chroot (однако, если вам нужно импортировать половину пользовательского пространства и некоторые команды suid, вы можете просто не выполнять chroot :). Для приложений, работающих под Apache (я уверен, что вы знаете, что OpenBSD httpd (8) немного отличается), у вас есть опция (после запуска программы; все еще должны присутствовать любые динамические библиотеки) в тюрьме) использования apache для доступа к файлам, что позволяет использовать httpd.conf для импорта ресурсов в среде chroot без их фактического копирования.
Также полезной (если немного устаревшей) является эта ссылка, в которой описаны некоторые ошибки в chrooted PHP на OpenBSD.