sudo: not found

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Гость
проходил мимо

sudo: not found

Непрочитанное сообщение Гость » 2010-08-20 12:41:23

написал простенький скрипт на пхп, который от лица www например должен отмонтировать устройств. Поставил судо:

Код: Выделить всё

pkg_info | grep sudo
sudo-1.7.2.5        Allow others to run commands as root
Строчка из скрипта:

Код: Выделить всё

exec("sudo umount /dev/md{$n}")
Еще:

Код: Выделить всё

cat /usr/local/etc/sudoers | grep www
www    ALL = NOPASSWD: /bin/dd, /sbin/mdconfig, /sbin/newfs, /sbin/mount, /sbin/umount, /bin/rm
Когда исполняется скрипт, то в логах пишет:
sudo: not found
Если запускаю скрипт в отдельном файле и пишу #!/usr/loca/bin/php .... и исполняю от рута без судо, то все гуд
Помогите разобраться где туплю
Последний раз редактировалось f_andrey 2010-08-20 18:42:37, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: sudo: not found

Непрочитанное сообщение hizel » 2010-08-20 12:50:47

внедряйте полный путь до исполняемого файла
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Гость
проходил мимо

Re: sudo: not found

Непрочитанное сообщение Гость » 2010-08-20 13:39:07

гм, не совсем понял
у меня есть скрипт, в котором есть некоторое кол-во созданных мной функций, одна из ф-ий и отвечает за указанное мной действие umount. Где я должен указать путь до исполняемого файла?

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: sudo: not found

Непрочитанное сообщение hizel » 2010-08-20 13:40:27

в exec
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Bacek_92
мл. сержант
Сообщения: 70
Зарегистрирован: 2010-05-22 18:02:03

Re: sudo: not found

Непрочитанное сообщение Bacek_92 » 2010-08-21 17:38:21

Была тема у меня тоже не находило sudo... в инете облазил и понял что апача не находит судо, потому что не прописаны пути в конфигурационном фале (вроде пользователя www).

короче для теста тебе

Код: Выделить всё

<?php
    echo "<pre>".`/usr/local/bin/sudo ipfw show`".<pre>";
?>

прошу учесть то, что

Код: Выделить всё

<?php
    echo "<pre>".`ipfw show`".<pre>";
?>
не выполниться. Также не забываем прописать в /usr/local/etc/sudoers пользователя www (от которого запущен httpd)

Гость
проходил мимо

Re: sudo: not found

Непрочитанное сообщение Гость » 2010-08-22 11:59:42

все так сделал: exec("/usr/local/bin/sudo /sbin/umount /dev/md0")

Теперь в логах апач пишет:

Код: Выделить всё

sudo: no tty present and no askpass program specified
но /usr/local/etc/sudoers:

Код: Выделить всё

www     All=(ALL) NOPASSWD: /sbin/mount, /sbin/umount
полазил в инете, так пока решения и не нашел
еще нашел про флаг requiretty, но

Код: Выделить всё

requiretty

If set, sudo will only run when the user is logged in to a real tty. When this flag is set, sudo can only be run from a login session and not via other means such as cron(8) or cgi-bin scripts. This flag is off by default.
в конфиге про requiretty ничего нет

Bacek_92
мл. сержант
Сообщения: 70
Зарегистрирован: 2010-05-22 18:02:03

Re: sudo: not found

Непрочитанное сообщение Bacek_92 » 2010-08-22 16:33:35

Короче смотри,

Код: Выделить всё

no tty present and no askpass program specified

Явно твой метод не нравиться
Сначала попробуй добавить такое в /usr/local/etc/sudoers

Код: Выделить всё

www     ALL = NOPASSWD: ALL
Может быть, это лишнее, но для подстраховки. Тоесь оно через "sudo" дает все полномочия пользователя ROOT. Поставь сначала, потом если получиться - уберешь на свое.

Далее:
твой код для теста

Код: Выделить всё

<?php

   $vivod_comandi=`/usr/local/bin/sudo /sbin/umount /dev/md0`;// Выполняет команду "/usr/local/bin/sudo /sbin/umount /dev/md0"  и сохраняет вывод в переменную "$vivod_comandi"
   echo $vivod_comandi; // Выводим то что в переменной "$vivod_comandi"
?>
Короче должно стопудов прокатить! У меня так крутилась моя прога ))

Andrey2009
рядовой
Сообщения: 46
Зарегистрирован: 2009-12-01 10:43:06

Re: sudo: not found

Непрочитанное сообщение Andrey2009 » 2010-08-22 16:58:59

..ляядь, ну никак не хочет, все тоже пишет
при редактировании /usr/loca/etc/sudoers ведь ничего перезагружать не надо? sudo читает этот файл каждый раз когда его вызывают?

Bacek_92
мл. сержант
Сообщения: 70
Зарегистрирован: 2010-05-22 18:02:03

Re: sudo: not found

Непрочитанное сообщение Bacek_92 » 2010-08-22 17:10:31

1) uname -a
2) Может надо переустановить sudo с другими параметрами?
cd /usr/ports/security/ && make deinstall && make config && make && make install && make clean
Может надо в опциях поставить галочку "With all insults" или или...
3) попробуйте выполнить в PHP команду типо `sudo reboot` если не получится, тогда дело сложное, если получиться, тогда по какой-то причине оно не хочет выполнять имеено "/usr/local/bin/sudo /sbin/umount /dev/md0" (не забудьте в sudoers выставить все права)

ViktorichZ
сержант
Сообщения: 152
Зарегистрирован: 2008-10-30 12:15:26

Re: sudo: not found

Непрочитанное сообщение ViktorichZ » 2010-08-22 18:40:15

Andrey2009 писал(а):..ляядь, ну никак не хочет, все тоже пишет
при редактировании /usr/loca/etc/sudoers ведь ничего перезагружать не надо? sudo читает этот файл каждый раз когда его вызывают?
добавьте в sudoers полную команду, попробуйте сушнуться под данного пользователя и попробовать выполнит.

Гость
проходил мимо

Re: sudo: not found

Непрочитанное сообщение Гость » 2010-08-22 19:42:24

пасиб, справился сам, сделал как вы и посоветовали - пересобрал sudo, поставил везде галочки на всякий пожарный,

Гость
проходил мимо

Re: sudo: not found

Непрочитанное сообщение Гость » 2010-08-22 19:53:05

сюда же в топку вопросик, все мучаюсь автозагрузкой md device. По этой ссылке http://sleepyhead.de/howto/?href=filesystem надо внести всего лишь изменения в rc.conf и /etc/fstab. Сделал также, но при загрузке система переходит в синг юзер, ругается на /etc/fstab. Если закоментить нужную строку, загрузится нормально, потом опять раскоменить, то md device создаются
Мой конфиг:

Код: Выделить всё

mdconfig_md0="-t vnode -f /usr/local/jails/jail_test3/usr/local/quota/test - /etc/rc.conf
/dev/md0 /usr/local/jails/jail_test3/usr/local/home/ahmadulin ufs rw  0   0 - /etc/fstab/
интересует следующий пунктик:

Код: Выделить всё

The file based image can be automatically mounted during boot with an entry in /etc/rc.conf and /etc/fstab. Test your setup with # /etc/rc.d/mdconfig start (first delete the md0 device with # mdconfig -d -u 0).
Note however that this automatic setup will only work if the file image is NOT on the root partition. The reason is that the /etc/rc.d/mdconfig script is executed very early during boot and the root partition is still read-only.
если структура такая:

Код: Выделить всё

mount
/dev/ad0s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/ad0s1e on /tmp (ufs, local, soft-updates)
/dev/ad0s1f on /usr (ufs, local, soft-updates)
/dev/ad0s1d on /var (ufs, local, soft-updates)
/usr/ports on /usr/local/jails/jail_test3/usr/ports (nullfs, local)
devfs on /usr/local/jails/jail_test3/dev (devfs, local)
/dev/md0 on /usr/local/jails/jail_test3/usr/local/home/test (ufs, local)
то имеется ввиду не размещать md device в /dev/ad0s1a?

выыыыыыыы
проходил мимо

Re: sudo: not found

Непрочитанное сообщение выыыыыыыы » 2011-11-10 13:21:21

Гость писал(а):все так сделал: exec("/usr/local/bin/sudo /sbin/umount /dev/md0")

Теперь в логах апач пишет:

Код: Выделить всё

sudo: no tty present and no askpass program specified
но /usr/local/etc/sudoers:

Код: Выделить всё

www     All=(ALL) NOPASSWD: /sbin/mount, /sbin/umount
полазил в инете, так пока решения и не нашел
еще нашел про флаг requiretty, но

Код: Выделить всё

requiretty

If set, sudo will only run when the user is logged in to a real tty. When this flag is set, sudo can only be run from a login session and not via other means such as cron(8) or cgi-bin scripts. This flag is off by default.
в конфиге про requiretty ничего нет
tttttttttttttt