По соображениям безопасности некоторые приложения изолированы в среде chroot. Мне нужно вызвать эти приложения через PHP-скрипт. Что-то вроде того :
exec('chroot /path/to/chroot command') 
  Мне нужно быть root для использования chroot .  В руководстве PHP есть chroot (), но для этой функции также требуются привилегии root. 
  Итак, как использовать команды chroot ed в PHP? 
  chroot может вызываться только привилегированными пользователями.  В противном случае обычные пользователи могут обманывать приложения setuid, такие как passwd или sudo доступа к файлам в непредвиденном месте. 
Поэтому, если ваше приложение php не работает от имени пользователя root, одна вещь, которую вы можете сделать, – это установить сценарий оболочки setuid и вызвать это из php. Он должен немедленно отказаться от привилегий после вызова chroot, поскольку root может тривиально вырваться из chroots .
  Кроме того, вы можете настроить sudo, чтобы пользователь php мог выполнить chroot /path/to/chroot command и добавить sudo к вызову exec в php. 
  Вы можете использовать возможности Linux.  См. Возможности CAP_SYS_CHROOT для возможностей man capabilities . 
ПРЕДУПРЕЖДЕНИЕ! Используя sudo, после chrooting вы root!
Трюк здесь состоит в том, чтобы использовать sudo и файл sudoers, чтобы просмотреть man-страницу sudo .
  В основном, что бы вы сделали, это предоставить вашему PHP-пользователю доступ к утилите sudo для команды chroot и ваш код будет выглядеть следующим образом: 
 exec('sudo chroot /path/to/chroot command')