[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с консолью Linux
UnVisibleNet
Здравствуйте.
Не могу решить проблему, возможно кто-то из вас знает в чем проблема.
Вызываю через exec, passthru и т.д. консольную команду /sbin/tc .
Прав у пользователя хватает на вызов команды, команду находит, пути полные.
Если исполняю php файл консольно, например вот так:
/usr/bin/php -f command.php
исполнение команды происходит и возвращается результат (вывод).
Если же этот скрипт запускаю из браузера - постоянно возвращается пустота, и не имеет значения какой функцией вызывать.

Тестировал запуск этой же команды (запуская из браузера) под рутом - эффект аналогичный, пустота.

В чем может быть проблема ? как получить вывод этой команды из браузера ?

P.S. Пробовал создавать .sh файл и вызывать его, проблема осталась.



Спустя 1 час, 24 минуты, 27 секунд (28.03.2011 - 19:51) alex12060 написал(а):
Смотри, ты выполняешь из под кого? Из под юзера, который может это делать. А по умолчанию на апач стоит группа www-data, она не может выполнять программы ТАКОГО уровная, как пасстхру.

Либо, пробуй менять права на программу, или прогой chown, либо отказаться от использования оной.

Спустя 53 минуты, 52 секунды (28.03.2011 - 20:44) UnVisibleNet написал(а):
Да вот исполняет. passthru исполняет команду 100%... И пользователь тут роли не играет.
Средствами настройки sudo я разрешил исполнять команды от root для пользователя www-data.
Тестировал алгоритмом:
1. Запускаю файл start.php через браузер.
2. В файле start.php стартует скрипт:
passthru("sudo -u root /usr/bin/php -f comand.php");

3. Файл comand.php показывает пользователя который его запустил и дальше пытается исполнить /sbin/tc..
Результат работы comand.php:
root
0
Тоесть функция работает, скрипт запустился от рута, но так как он из браузера запущен, вторая команда вернула снова пустоту sad.gif

Спустя 17 минут, 33 секунды (28.03.2011 - 21:02) alex12060 написал(а):
Пардон, перепутал с линуховской прогой)

Покажи код command.php

Спустя 12 минут, 10 секунд (28.03.2011 - 21:14) UnVisibleNet написал(а):
passthru("whoami", $execute_result);
echo "$execute_result <br>";

passthru("/sbin/tc", $execute_result);
echo "$execute_result <br>";

Спустя 13 минут, 40 секунд (28.03.2011 - 21:28) alex12060 написал(а):
А что должна вывести программа tc?

Спустя 25 минут, 17 секунд (28.03.2011 - 21:53) UnVisibleNet написал(а):
Usage: tc [ OPTIONS ] OBJECT { COMMAND | help }
tc [-force] -batch filename
where OBJECT := { qdisc | class | filter | action | monitor }
OPTIONS := { -s[tatistics] | -d[etails] | -r[aw] | -p[retty] | -b[atch] [filename] }

Спустя 8 минут, 24 секунды (28.03.2011 - 22:01) UnVisibleNet написал(а):
Вопрос закрыт, извините что потревожил smile.gif
Оказалось проблемы и не было... Просто при вызове php скрипта из консоли, он как то по своему обрабатывался и выводил стандартный хелп, как будто б мы запускали без пхп просто в консоли.
А вот если запускать из браузера - он возвращал пустоту. Но если утилиту вызвать с правильными параметрами - возвращает вполне адекватный результат smile.gif

А я тут уже пол инета перелазил)... все настройки перековырял smile.gif

Спустя 2 минуты, 55 секунд (28.03.2011 - 22:04) alex12060 написал(а):
Да, я только написать хотел про это)
Эти штуки он никогда в браузер невыведет)

Все, окей, я аж сам испугался)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.