Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: выполнить консольную команду с правами root на PHP  (Прочитано 7104 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Lamer2010

  • Автор темы
  • Участник
  • *
  • Сообщений: 151
    • Просмотр профиля
да так получается, спасибо большое за советы

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
ZL~$
ZL~$ echo '<?php $o=shell_exec("sudo traceroute -I victor");echo "<pre>$o</pre>\n";?>' | php5
<pre>traceroute to victor (192.168.100.2), 30 hops max, 60 byte packets
 1  192.168.100.2 (192.168.100.2)  4.778 ms  4.870 ms *
</pre>
ZL~$
ZL~$ echo '<?php $o=shell_exec("sudo traceroute -I victor");echo "<pre>$o</pre>\n";?>' | php5-cgi
X-Powered-By: PHP/5.5.9-1ubuntu4.4
Content-type: text/html

<pre>traceroute to victor (192.168.100.2), 30 hops max, 60 byte packets
 1  victor (192.168.100.2)  4.504 ms  4.598 ms *
</pre>
ZL~$
ZL~$

Wars ~.o

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Задача в том чтобы через браузер(веб-интерфейс), выполнить консольную команду с правами root
Это не задача, это попытка решения задачи. Вас в школе не учили отделять постановку задачи от её решения?

Как я понимаю средствами самого javascript это не сделать, поэтому пробую выполнить на PHP вот так $output=shell_exec('sudo traceroute -I хост').
И второй момент подскажите как строку из $output передать в переменную javascript, тоже в виде строки?
Почему не использовать tracepath ? Ему не нужны права рута.
Зачем вообще дёргать эту команду неопределённое количество раз, вызывая шторм в голове админисратора сети и баны твоего IP за нецелевое использование технического трафика?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Lamer2010

  • Автор темы
  • Участник
  • *
  • Сообщений: 151
    • Просмотр профиля
Спасибо за совет с tracepath, но я попробовал запускать её с различными ключами, но почему то не выводит маршрут, везде - no reply, поэтому использую старый добрый traceroute.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Задачу таки мы услышим?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Lamer2010

  • Автор темы
  • Участник
  • *
  • Сообщений: 151
    • Просмотр профиля
Задачу таки мы услышим?
Ну на данном этапе я решил задачу, мне надо было получить данные вывода traceroute в переменную javascript, для дальнейшей работы с ней на javascript:
Получил массив в JSON формате:
<?php
$a=shell_exec('sudo traceroute -I хост');
$seq=explode("\n",$a);
$json=json_encode($seq);
?>
<script>
var js=<?php echo $json;?>;
</script>

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Lamer2010,
папробуй
$a=shell_exec('env');
Wars ~.o

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.