Есть скрипт a.pl в /cgi-bin в котором выпоняю такую команду
print `sudo -u root ./root_file.pl`;
root_file.pl имеет атрибуты 700 владелиц root.
И в этом файле делаем
print "Test";Так вот, весь вопрос в том, что если запустить файл a.pl из консоли то он работает коректно, а если обратится к нему через браузер, он ничего не выводит.
Права на файлы выставленны коректно, да они собственно и работали раньше.
А право на sudo у пользователя от имени которого web-сервер запущен?
В консоли-то Вы не от его имени тестируете :)
То что бага в cgi-bin + perl + sudo я и сам понял, а вот куда копать?Права от имени веб сервера прописанны.
В консоли я запускаю тоже от имени пользователя из под которого работает веб-сервер.
Да и вобще есть хорошаю команда whoami.
Судя по ней я запускаю скрипт от нужных пользователей.Для пытливых умов скажу сразу: apache собран без suexec и поэтому из cgi-bin все запускается из под пользователя www
>Есть скрипт a.pl в /cgi-bin в котором выпоняю такую команду
>print ``;
>root_file.pl имеет атрибуты 700 владелиц root.
>И в этом файле делаем
>print "Test";
>Попробуй не принт, а:
open(FILE, "sudo -u root ./root_file.pl |");
close(FILE);
>Попробуй не принт, а:
>open(FILE, "sudo -u root ./root_file.pl |");
>close(FILE);Это всеравно что мертвому припарка.
Эфект тотже.
На до копать в cgi-bin но где именно???Спасайте, теряю веру в жизнь...
А зачем в этой строке пайпа?
Их кажется обрабатывает шелл, а при запуске из вебсервера его не будет.