Нам нужны некоторые скрипты для создания файлов конфигурации для сетевых сервисов, таких как 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
и a sudo
задание cron, запускающее оболочку script, извлечение из них и копирование их в нужное место (также забота о перезапуске служб и все такое) на пятиминутке?
Было бы намного безопаснее, если бы пользователь Web/PHP напрямую записывал файлы конфигурации, а также было бы относительно легко настроить процесс управления версиями, который позволяет откатить файл конфигурации до более ранней версии.
Вместо предоставления доступа к корневому файлу PHP script сделайте файлы конфигурации доступными для записи веб-пользователям.