У нас есть несколько умных разработчиков, которые работают над отдельными проприетарными проектами. Мы используем в основном PHP для проведения специального анализа и создаем множество веб-инструментов PHP, которые помогают нам визуализировать вещи изнутри.
Структура каталогов выглядит так:
- /var/www/
- / anton /
- / Мэри /
- / общие скрипты /
Антон не должен видеть сценарии Марии, и наоборот.
Я могу представить себе изменение разрешений для папки Linux, чтобы Антон мог только читать / писать / выполнять свою папку, и даже не читать папку Мэри.
Однако в таком случае, что помешает Антону:
- написать PHP-скрипт в своей собственной папке, который запускает команду «exec», чтобы «перехватить» исходный код из папки Мэри?
- запустить сценарий как www-data, который является пользователем Apache по умолчанию и, следовательно, имеет доступ ко всем папкам, включая папку Мэри?
Как правило, если вы хотите запустить несколько проприетарных проектов на одном сервере, как вы это сделаете?
(Обратите внимание, что меня не интересует обфускация / шифрование кода. Средства правовой защиты - это тоже вариант, который у нас уже есть. Я был бы очень заинтересован в решениях, выходящих за рамки юридической сферы.)