Прежде всего, извините за мой английский, я немец.
Я использую Debian с apache2 и php5.
Сервер только для тестирования и находится в моей локальной сети, поэтому у меня нет проблем с безопасностью.
Мой вопрос:
Как дать рут-права PHP / PHP-пользователю?
Например:
Я хочу, чтобы мои файлы .php в / var / www / выполняли file_put_contents () для каждого файла на моем сервере, exec () для любой команды (с правами root), … когда я вызываю их в своем браузере.
Я много чего перепробовал, например, поместил www-данные в корневую группу или изменил пользователя Apache в / etc / apache2 / envvars, но ничего не получилось или я получил ошибки.
Я слышал о httpd.conf, но не могу найти этот файл.
Пожалуйста, помогите мне!
Чтобы было ясно, предоставление привилегий root для PHP — это ужасный идея. Возможно, не в этом случае, но в целом: пользователи, которым вы не должны доверять, приходят на ваш сервер и запускают код, который, даже если вы его написали, вам не следует доверять, и вы говорите, что код может сделать что-нибудь для этой машины ,
Я настоятельно рекомендую вам поискать другой способ сделать это.
В вашем конкретном случае я бы просто позаботился о том, чтобы любой пользователь Apache (обычно apache или www-data) имел правильные привилегии в / var / www. Например, установите для пользователя и группы значение apache / www-data и дайте разрешения на чтение и запись для файлов. Вы должны иметь возможность произвольно назначать права на выполнение для определенных файлов и запускать их. Это все еще не очень хорошая идея.
С точки зрения предоставления корневых привилегий PHP все команды выполняются от имени пользователя Apache, и вы не можете заставить Apache запускать его, не создавая его самостоятельно. Однако вы можете добавить его в список sudoers (/ etc / sudoers) и использовать команду exec PHP для выполнения действий через sudo. Но, пожалуйста… НЕ ДЕЛАЙТЕ ЭТОГО
Отредактируйте файл / etc / sudoers, некоторые примеры здесь sudo в php exec () — спуск