Нам нужны некоторые сценарии для создания конфигурационных файлов для сетевых сервисов, таких как 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, сделайте файлы конфигурации доступными для записи пользователем.