Как запустить процесс под определенным пользователем?

  • Автор темы glukerrr
  • Дата начала

glukerrr

Guest
Как запустить процесс под определенным пользователем?

Добрый день!

Есть такой вот скрипт

PHP:
<pre>
<?php 
	$descriptors = array(1 => array("pipe", "w"), 2 => array("pipe", "w"));
	$command = "/path/to/sh/script.sh";
	$process = proc_open(escapeshellcmd($command), $descriptors, $pipes);
	if (!is_resource($process)) {
		echo "[FAILED]";	
	} else {
		while (!feof($pipes[1])) {
			echo fgets($pipes[1], 1024);
			flush();
		}
		fclose($pipes[1]);

		while (!feof($pipes[2])) {
			echo fgets($pipes[2], 1024);
			flush();
		}
		fclose($pipes[2]);
		$exitCode = proc_close($process);
		echo "Exit code = $exitCode";
	}
?>
</pre>
Данный script.sh должен быть запущен из под пользователя ну скажем user (у которого пароль pass)

Естественно что хочется запускать эту штуку из под web ? т.е. со странички..

Как это сделать? Как добиться того, чтобы sh ник запустился из под пользователя user??
 

glukerrr

Guest
Привет! Переспросил всех админов.. Но я так понял что полноценный логин невозможно реализовать через sudo.
Нужно прописывать в Апаче что-то типа NOPASSWORD для конкретного скрипта.. Кто что про это знает?

2Profic, может разьясните чуть-чуть подробней как это реализовать?
 

glukerrr

Guest
Хы! Спасибо за ссылку.. Как говорится, афтар жжот! Но я не нашел ни одного примера на php =))) Ну поставлю я эту штуку и что дальше? Romantik, если ты работал с этой штукой кинь простой пример, если не сложно, который бы запускал /path/to/my/script.sh под юзером user с паролем password

Спасибо!
 
Сверху