LINUX.ORG.RU

Выполнение команды в screen из PHP

 ,


0

1

Всем привет!

С Linux работаю не часто, и возникла такая проблема: Есть в screen сессия к примеру с названием «NEW» запущенная от пользователя «root».

Есть код PHP:

#!/usr/bin/php  
<?  
print `screen -S NEW -X stuff exit\r`;
?>

Так вот эта команда из PHP выводит: «No screen session found.»

т. к. она выполняется почему-то от другого пользователя. От какого и почему не знаю.

Если вывожу команды:

#!/usr/bin/php  
<? 
print `screen -S NEW -d -m`;
print `screen -S NEW -X stuff exit\r`;
?>

То проблем и ошибок не возникает. Так вот и сам вопрос, как запустить PHP и screen от одного и того же пользователя? Или как написать команду для выполнения под другим пользователем?

Спасибо!

P.S. Не знаю в эту ли тему написал, первый раз тут =)

Так вот и сам вопрос, как запустить PHP и screen от одного и того же пользователя?

Скрипт запускается веб-сервером? screen по ssh?

Или как написать команду для выполнения под другим пользователем?

sudo -u username

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

Эм, «screen» запускается мной вручную через Putty от пользователя «root», как-то так. На серваке так же стоит «PHP», который и выполняет скрипты после запроса с конкретного сайта.

sudo -u username

А можно полную команду? Или ее пред своей можно ввести? Пароль нужен?

SkyPrince
() автор топика
Ответ на: комментарий от SkyPrince

Запусти
ps -aux
и посмотри, под каким пользователем запущен твой веб сервер. Потом запускай скрин так
sudo -u тот_пользователь screen

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

Очевидно вот это: http://c2n.me/3eRrHPE.png Пользователь - «www-data» Как я понимаю мне нужно как-то переключиться скриптом на рута? Или ввести сразу команду в скрин от рута?

#!/usr/bin/php  
<? 
print `sudo -u root screen -S NEW -X stuff exit\r`;
?>

Как-то так?

SkyPrince
() автор топика
Ответ на: комментарий от SkyPrince

Нет. Ты запускаешь вручную новый скрин от www-data через sudo. И потом из php скрипта работаешь с ним как обычно, без sudo. Так правильнее с точки зрения секурити, и из php скрипта sudo потребует пароль.

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

Спасибо, попробую разобраться завтра! Доброй ночи, или что там у вас =)

SkyPrince
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.