Выполнение команды оболочки в ubuntu с использованием php с удаленной машины

Поскольку у вас установлен aptitude, он может вам помочь. Запустите aptitude и ограничьте (ярлык: l) просмотр пакетами, соответствующими

~i ~pextra

См. онлайн-руководство или /usr/share/doc/aptitude/README для ссылки на поисковый запрос.

Теперь вы можете выбрать удаление всех пакетов: нажмите - под каждым заголовком верхнего уровня, чтобы отметить пакеты для удаления (сохраняет файлы конфигурации), или _, чтобы отметить их для очистки (удаляет файлы конфигурации), затем g, чтобы продолжить. У вас есть возможность просмотреть список, если вы хотите оставить некоторые пакеты.

0
30.04.2019, 13:22
2 ответа

Во-первых, я укажу, что это небезопасный подход на многих уровнях. как говорится:

Если для запуска script.py вы должны быть root, то пользователь вашего веб-сайта должен иметь конфигурацию sudoers. Сначала вам нужно узнать пользователя вашего сайта.

Затем установите привилегии sudo для этого пользователя, чтобы он мог выполнять script.py без пароля, т.е.:

apache ALL=NOPASSWD: /full/path/to/your/script.py

Затем добавьте исполняемый бит в ваш script.py:

chmod +x /full/path/to/your/script.py

Возможно, вам придется изменить заголовок вашего py-скрипта на:

#! /usr/bin/python

После этого в вашем php вы можете выполнить скрипт с помощью оболочки _exec, например:

$output = shell_exec('/full/path/to/your/script.py');
0
28.01.2020, 03:46

Вы могли бы сделать это, выполнив следующие действия, но ваш запрос звучит как проблема с безопасностью. Было бы лучше, если бы на удаленном хосте был своего рода API, который вы могли бы запрашивать через HTTP

.
<?php
   $output = shell_exec('ssh user@remotehost script.py');
   echo "<pre>$output</pre>";
?>
0
28.01.2020, 03:46

Теги

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