chroot
могут вызывать только привилегированные пользователи.В противном случае обычные пользователи могут обмануть приложения setuid, такие как passwd
или sudo
, для доступа к файлам в неожиданном месте.
Поэтому, если ваше php-приложение не запускается с правами root, вы можете сделать одну вещь:установите скрипт setuid и вызовите его с php.После вызова chroot он должен быстро отбросить привилегии, так как root может тривиально выйти из chroot .
В качестве альтернативы, вы можете настроить sudo, чтобы позволить пользователю php выполнять chroot /path/to/chroot command
и добавлять sudo
на exec
звонок по тел.