Мой сервер имеет пару пользователей. Я бегу httpd с поддержкой php.
Теперь все пользователи могут сделать php-скрипт, открыть его в своем браузере и запустить как www-data . Из-за этого невозможно сделать php-скрипт недоступным для других, и каждый может видеть SQL-пароли друг друга и т. Д., Если пожелает.
Есть ли способ запустить эти php-скрипты от имени владельца файла? Или другое предложение, как обезопасить ситуацию. Я изучал виртуальные хосты Apache как возможное решение, но безуспешно. suPHP, вероятно, сделает свое дело, но больше не доступно из репо.
Одним из способов является mpm-itk
модуль Apache, который позволяет запускать каждый виртуальный хост под отдельным uid и gid. Но решение не подходит для чистых установок nginx.
Другое и лучшее, на мой взгляд, решение - перейти на php-fpm
, который может запускать несколько отдельных пулов, каждый со своим собственным uid / gid. Прочитайте это любезно.
Это хорошо известная проблема, которую можно решить с помощью модуля apache mpm-itk, который специально предназначен для запуска скриптов на виртуальных хостах с правами их владельцев ( http://mpm-itk.sesse.net /).
Этот модуль предварительно встроен в пакеты администрирования хостинга, такие как ISPmanager и так далее. Я бы рекомендовал использовать такие пакеты, чтобы избавиться от скучных настроек вашего сервера, потому что все можно сделать за несколько минут.