Я просто мигрировал от 12,04 до 14,04. 14.04 (разумно) отключает вход в систему / оболочка для www-данных. Но мой php сайт должен выполнить некоторые сценарии оболочки для выполнения материала как kindlegen, rsyncing файлы к другому серверу при пользовательской команде и т.д.
Что лучший (самый безопасный) путь состоит в том, чтобы сделать это?
спасибо
Кажется, что Вы находитесь в безопасном режиме. Это прекрасно, но это действительно дает Вам опцию разрешения определенных команд, если они определяются в safe_mode_exec_dir
. Это было бы первой вещью, на которую я смотрел. Создайте каталог, добавьте свой сценарий там, установите safe_mode_exec_dir
на тот каталог и посмотрите, работает ли это.
<глоток> Редактирование: Хм, если Вы находитесь на 14,04, это - вероятно, не безопасный режим. Это было удалено в 5,4, и необходимо быть на 5,5 глоток>
, Если это не работает или не выполнимо, рассмотрите неинтерактивный метод. Имейте свою запись PHP в файл, названный needstorun
, и затем имейте другой сценарий (работающий как другой пользователь), проверяют тот файл регулярно. Я использовал бы строку крона как это (работайте crontab -e
как пользователь, которого она собирается выполнить как)
*/5 * * * * [ -f /path/to/needstorun ] && rm /path/to/needstorun && /path/to/script
, Это очевидно только собирается предложить Вам ступенчатый подход, но это не могло бы быть плохой идеей.