PHP удаленного выполнения сценария Sudo - PullRequest
0 голосов
/ 25 сентября 2011

Я хочу, чтобы скрипт PHP запускал скрипт на удаленном сервере от имени пользователя root.Сценарий должен сам выполнять команды sudo, поэтому он должен выполняться от имени пользователя root.

Любые идеи?

Я пытался использовать PHP ssh, войти в систему и выполнить с sudo, но это было слишком медленно.*

(У меня Ubuntu 10.04 и PHP5 на обоих серверах)

Ответы [ 2 ]

2 голосов
/ 25 сентября 2011

SSH не должен замедляться, если вы не выполняете много отдельных команд. Если это происходит медленно, либо системы находятся под высокой нагрузкой, либо у вас проблемы с обратным DNS. Вы можете попробовать установить UseDNS no в /etc/ssh/sshd_config и перезапустить sshd, если это ускоряет работу DNS.

Сценарий должен сам выполнять команды sudo, поэтому он должен выполняться от имени пользователя root.

Не имеет смысла, если скрипт выполняется от имени root, ему не нужно использовать sudo.

0 голосов
/ 20 мая 2016

Я недавно опубликовал проект, который позволяет PHP получать и взаимодействовать с реальной оболочкой Bash. Получите это здесь: https://github.com/merlinthemagic/MTS

После загрузки вы просто используете следующий код:

$shell    = \MTS\Factories::getDevices()->getLocalHost()->getShell('bash', true);
$return1  = $shell->exeCmd('yourFirstCommand');
$return2  = $shell->exeCmd('yourSecondCommand');
//the return will be a string containing the return of the script
echo $return1;
echo $return2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...