Назад | Перейти на главную страницу

Запустить ненадежную программу из apache

У меня есть проблема, для которой у меня уже есть реализованное решение, но я не уверен, лучшее ли оно. Чтобы не предвзято относиться к возможным ответам, я пока не скажу, как я решил это решить.

Допустим, у меня есть сайт с разными пользователями.

У каждого из этих пользователей есть набор файлов на стороне сервера.

Я бы хотел, чтобы каждый пользователь мог запускать ненадежное серверное двоичное приложение. Это двоичное приложение должно работать с серверными файлами пользователей.

Под ненадежным я имею в виду, допустим, это «bash» - полностью открытый для эксплуатации. Хочу убедиться, что в первую очередь:

  1. Каждый пользователь может получить доступ только к своим файлам из этого ненадежного приложения.
  2. Каждый пользователь не может повлиять на работу или безопасность всей системы из этого ненадежного приложения.
  3. Решение можно разумно масштабировать для многих тысяч пользователей.

У меня вопрос: как бы вы это сделали?

suPHP как оболочка, вызывающая выполнение приложения CGI в контексте пользователя; вы также получаете кучу хороших инструментов и конфигурации среды в придачу. Мы увеличили это число до десяти тысяч уникальных пользователей.

Запустите виртуальный хост для каждого пользователя и suexec для приложения cgi, которое работает в оболочке chroot

См. Здесь руководство, например..