LINUX.ORG.RU

sudo php


0

0

не работает 
exec("echo '****' | sudo -S ping -c1 google.ru",$result) ;
P.S.
вместо пинга,естессно, что угодно можно написать 
anonymous

Потому что не знает, где находится sudo и ping ?

anonymous
()

>exec("echo '****' | sudo -S ping -c1 google.ru",$result) ;

Так делать нельзя! Хранить рутовый пароль в php скрипте. Это даже не дыра, это дырища.

P.S. man sudoers на предмет NOPASSWD.

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

>Это даже не дыра, это дырища. Про это я прекрасно понимаю, но в моем случае это не критично...

Спасибо

anonymous
()
Ответ на: комментарий от Davidov

>Это даже не дыра, это дырища

так-то оно так, но мне кажется на все 100%, что су и судо проверяют тип стдин - они откажутся читать пороль из пайпа, т.к. это потенциальная дыра, а юзер не совсем понимает, что творит.

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

> судо проверяют тип стдин - они откажутся читать пороль из пайпа

Для этого и есть -S

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

>так-то оно так, но мне кажется на все 100%, что су и судо проверяют тип стдин - они откажутся читать пороль из пайпа, т.к. это потенциальная дыра, а юзер не совсем понимает, что творит.

Разумеется.

Собственно, даже ключик у sudo есть, чтобы обойти это ограничение (кому надо - найдут). Просто в данной ситуации нужно идти другим путём: NOPASSWD (лучше) или SUID скрипт (хуже).

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

про -S - просветили.

>SUID скрипт (хуже).

не побоюсь чего-нидь попутать, но суид для скриптов не работает, вроде.

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

>не побоюсь чего-нидь попутать, но суид для скриптов не работает, вроде.

Да, ошибся. Значит остаётся NOPASSWD.

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

интересня статья, но я не уловил одной вещи... в конце, в советах по избежанию, написано, что можно использовать sudo, C wrapper или perl wrapper. почему у перла отсутствует задержка между запуском интерпретатора и чтением скрипта, я, наверное, пропустил...

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

>почему у перла отсутствует задержка между запуском интерпретатора и чтением скрипта, я, наверное, пропустил...

Насколько я понимаю, речь идёт про некий wrapper под названием perl-suid (sperl).

Видимо, он сам проверят, установлен ли бит и начинает исполнение. Таким образом, не надо два раза открывать файл.

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