От пользователя www-data (это который апачем рулит) будет запускаться php-скрипт. Нужно поменять файлик /etc/hosts. А он тока руту доступен для редактирования. Под пользовтелем www-data я разумеется в sudoers ковыряться не могу, иначе проблемы бы не было.
Пробовал на пхп чето типа этого:
Код: Выделить всё
$spec = array (
0 => array("pipe", "r"),
1 => array("pipe", "w"),
2 => array("file", "/tmp/error-output.txt", "a")
);
$proc = proc_open("su root",$spec,$pipes);
for ($i=0; $i<100; $i++)
fwrite($pipes[0], "пароль\n");
fclose($pipes[0]);
while (!feof($pipes[1]))
echo fgets($pipes[1], 1024);
fclose($pipes[1]);
proc_close($proc);Код украден из интернетов, взял один из примеров, малость поменял под себя.
Что вижу в результате выполнения в файлике /tmp/error-output.txt :
su: must be run from a terminal
Отсюда вопрос. А что вместо su можно использовать?
Может быть есть что-то аналогичное на bash?