Есть какой-то метод безумия. Как правило, если браузер может интерпретировать дату как ISO-8601, он будет. «2005-07-08» попадает в этот лагерь, и поэтому он анализируется как UTC. «8 июля 2005» не может, и поэтому он анализируется по местному времени.
Подробнее см. JavaScript и даты, What Mess! .
Это очень небезопасно и плохая идея. Пересмотрите свой дизайн. Если вы действительно хотите сделать это, используйте sudo в соответствии с рекомендациями. Альтернативным решением может быть запуск от имени root, но внутри chroot или образа vm (оба из которых могут быть взломаны, но все же).
Или лучше всего запускать как sudo внутри chroot!
Не делайте этого! Вы будете широко открыты для всех видов злонамеренного взлома.
Взгляните на документацию по «sudo».
Вы должны иметь возможность настроить все необходимые команды как сценарии с поддержкой «sudo». Гораздо лучше написать конкретные сценарии с ограниченными функциями, чем раскрывать основная привилегированная команда.
Как в:
exec ('sudo getIpTables.ksh')
Если вы не используете suphp и не настроите его для работы с правами суперпользователя, вы не сможете запускать какой-либо сценарий PHP от имени любого другого пользователя системы, кроме того, который использует PHP.
Просто небольшая идея. Добавьте каким-либо образом процесс очереди и запустите процесс cron в crontab корневого пользователя.
Пожалуйста, будьте очень осторожны с этим. Любая инъекция может буквально разрушить систему.
Просто предположение - это веб-приложение PHP, которое будет делать это? Это звучит не слишком безопасно. Приложение, которому нужен root - не могли бы вы создать его отдельно, а затем вызывать из PHP? В противном случае, возможно, вы сможете выполнить sudo для процесса, чтобы он мог работать от имени пользователя root.
Вы можете поместить необходимые команды в отдельный скрипт / исполняемый файл (sh, PHP, настоящий исполняемый файл, не имеет значения), изменить его владельца на root и применить "setuid" к Это.
Это позволит кому угодно и кому угодно запускать этот сценарий от имени пользователя root, поэтому вам нужно убедиться, что у него есть собственные правила безопасности, чтобы узнать, разрешено ли это, и что он очень ограничен в своих действиях.