Скрипты могут работать на терминале, но не при использовании PHP

Для этого необходимо использовать xargs :

find "dir" -name "*.html" -print0 | xargs -0 -n1 -I % tar zcpf %.tar.gz %

Он обрабатывает почти все специальные символы в именах файлов.

1
14.01.2019, 10:59
1 ответ

К счастью, PHP (! )работает не от имени пользователя root, поэтому у него нет прав для запуска apt install. Бит suidигнорируется в сценариях оболочки, поэтому установка этого бита в сценарии оболочки также не является решением.

Если вы очень-очень хотите предоставить PHP привилегии для запуска apt-getот имени rootпользователя (и, пожалуйста, подумайте хорошенько об этом ), вы можете добавить запись в sudoers, чтобы разрешить это, но ваша команда должна быть sudo apt-get [...].

Запуск сценария через веб-интерфейс -через sudoгрант не рекомендуется, -потому что, если кто-то каким-то образом найдет способ редактировать этот файл, теперь он может делать все, что захочет. в вашей системе как суперпользователь, заставив PHP сделать это за них.

2
27.01.2020, 23:23

Теги

Похожие вопросы