Какой лучший способ записи в системные файлы Linux с использованием PHP - PullRequest
1 голос
/ 07 июля 2010

Нам нужны некоторые сценарии для создания файлов конфигурации для сетевых служб, таких как DHCP, DNS и сеть, на основе ввода пользователя. Для этого требуется доступ с правами root, но я не знаю, как запустить приложение PHP от имени пользователя root. Он запускается через общедоступный веб-интерфейс.

Ответы [ 3 ]

6 голосов
/ 07 июля 2010

Awww ... предоставление корневых прав PHP или веб-серверу никогда не является хорошей практикой, независимо от того, насколько безопасна ваша установка.

Как насчет того, чтобы PHP записал измененные файлы конфигурации во временный каталог:

/home/system/transfer/apache/httpd.conf
/home/system/transfer/system/dhcp.conf
/home/system/transfer/mysql/my.ini

и задание sudo cron, запускающее сценарий оболочки, извлекающее их оттуда и копирующее в нужное место (также заботящееся о перезапуске служб и все такое), на пятиминутной основе?

Было бы немного безопаснее, чем если бы пользователь Web / PHP писал файлы конфигурации напрямую, плюс было бы относительно легко настроить процесс управления версиями, который позволит откатить файл конфигурации до более ранней версии.

2 голосов
/ 07 июля 2010

Вместо предоставления доступа к корневому сценарию PHP сделайте файлы конфигурации доступными для записи веб-пользователем.

0 голосов
/ 07 июля 2010
  1. Запустите apache от имени пользователя root.
  2. Какой адрес у вашего сайта?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...