Какой способ записи в системные файлы Linux с помощью PHP

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

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

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

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

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

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

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

  1. Запустите apache как пользователь root.
  2. Каков адрес вашего сайта?