выполнение пошаговых shell команд в php скрипте

webcreator

Новичок
выполнение пошаговых shell команд в php скрипте

Вопрос такой:
Как средствами php реализовать выполнение shell-команд, которые требуют пошагового ввода параметров (подтверждения вопросов) в процессе своего выполнения?

Например "passwd"

shell_exec и popen не работают...
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
мануал по popen:

Note:
If you're looking for bi-directional support (two-way), use proc_open().
 

Alexandre

PHPПенсионер
shell_exec и popen не работают...
очевидно прав не хватает..., тем более на passwd, которая работает от рута.
А Апач под кем работает?

что тебе выдает print "whoami" - кавычки юбратные....
крайнем случа запускай sudo или su через popen

все время юзаю popen, не было ни когда проблем :D
учите матчасть:rolleyes:
 

webcreator

Новичок
Автор оригинала: Alexandre
очевидно прав не хватает..., тем более на passwd, которая работает от рута.
А Апач под кем работает?
А как узнать под кем работает апач? :)

что тебе выдает print "whoami" - кавычки юбратные....
крайнем случа запускай sudo или su через popen

все время юзаю popen, не было ни когда проблем :D
учите матчасть:rolleyes:
whoami выдает "apache"


Оказывается что скрипт работает когда его запускаешь из под shell'a
Из под http он не работает
Где копать?
 

Alexandre

PHPПенсионер
А как узнать под кем работает апач?
вот и ответ
whoami выдает "apache"
-~{}~ 02.04.07 13:35:

запускай sudo или su через popen

необходимо сэмулировать рута

su -l foo - Simulate a login for user foo.
su - Simulate a login for root.

если использовать popen - то можно съэмулировать введение рутового пароля,
а далее записать на выполнение команды из под рута.
 

ys

отодвинутый новичок
Проще, наверно, использовать sudo.
Если его грамотно настроить, то некоторые команды можно разрешить выполнять с полномочиями иного пользователя не вводя пароль. Но, пользоваться этой возможностью надо очень осторожно.
 

Alexandre

PHPПенсионер
Но, пользоваться этой возможностью надо очень осторожно.
по этому у меня на сервере и не стоит sudo

-~{}~ 02.04.07 15:06:

а работать рутом из-под апача - этопросто преступно!
 
Сверху