Как запустить bash-файл из php

это команда большинства linux дистрибутивов, это невероятно, что её нету! :confused: Удали твой новый /etc/sudoers и поставь пакет sudo. Тогда и visudo появится, редактируй через него!
 
нашел:
По умолчанию в Debian GNU/Linux пакет sudo отсутствует. Установка sudo — это, по глубокому убеждению автора, перовое, что необходимо сделать после завершения установки базовой системы Debian GNU/Linux. У пользователей Ubuntu Linux sudo установлен по умолчанию, однако тоже может потребовать конфигурации.

Для просмотра ссылки Войди или Зарегистрируйся

в принципе убрал sudo из функции в php - файле. теперь работает. Думаю, у нужно ли мне sudo устанавливать? Если итак все работает
 
мне кажется у вас апач от рута работает :)
выяснить это можно выполнив такой php скрипт:
PHP:
<?php
  echo `id`;
?>
юзать sudo из php скриптов (вернее предоставлять такую возможность в системе) совершенно не секьюрно.
 
Не, у него всё нормально с секурностью, просто скрипт не требует рутовых привелегий. ТС, советую всё же поставить и настроить sudo (удали старый /etc/sudoers!), пригодится и не раз. А если понадобится рутовый скрипт запустить из-под php, настрой его так, как я говорил выше и используй sudo.
 
  • Нравится
Реакции: HEPB
значит все отличненько :)
ну а насчет скрипта - раз он и так работает, то sudo вам, для работы скрипта, точно не нужен.
sudo в вашем php-скрипте админки нужен был для того, чтобы /etc/init.d/tr выполнялся от имени рута, а не www-data
 
  • Нравится
Реакции: HEPB
Не, у него всё нормально с секурностью, просто скрипт не требует рутовых привелегий. ТС, советую всё же поставить и настроить sudo (удали старый /etc/sudoers!), пригодится и не раз. А если понадобится рутовый скрипт запустить из-под php, настрой его так, как я говорил выше и используй sudo.
согласен, но ТОЛЬКО если владельцем /etc/init.d/tr не является www-data :)
 
я на /etc/init.d/tr выставил права 755. Видимо этого достаточно, чтобы его мог запустить любой пользователь или нет?
 
я на /etc/init.d/tr выставил права 755. Видимо этого достаточно, чтобы его мог запустить любой пользователь или нет?
да

но тут есть один нюанс - если вы последуете совету установить sudo и внести предложенные noxwell строки в /etc/sudoers, то
если владельцем файла /etc/init.d/tr является www-data, то злоумышленник, получив права www-data, сможет, изменив этот файл, запускать что угодно от имени рута.
еще у вас /etc/init.d/tr принимает параметр $action - тоже возможная дыра в безопасности т.к. тот же злоумышленник прочитав текст скрипта /etc/init.d/tr возможно сможет запустить что-то своё от имени рута.

хотя, если вы не собираетесь шаманить с sudo или если вы не опасаетесь злоумышленников, которые захотят взломать ваш сайт, забейте на все это -
ГЛАВНОЕ ЧТОБ РАБОТАЛО :)
 
видимо шаманить с sudo придется...
Просветите плиз по поводу безопасности. Юзер www-data создал видимо сам апач при установке, я этого юзера не создавал и даже не знаю установлен ли у него пароль...
По поводу запуска скрипта - запуск производится по кнопке (html - страница с кнопкой и php обработчиком) расположена в отдельном каталоге со случайным набором цифр и букв и можно защитить еще вход в этот каталог посредством .htaccess, дав пароль на папку. В папку будет иметь доступ только модератор, которому я не могу дать доступ по ssh, а иногда перезапускать программу /etc/init.d/tr - необходимо.

Есть ли опасность в этом случае для безопасности?

Как злоумышленник сможет подменить /etc/init.d/tr ? Как он сможет добраться до этого каталога, который находится не в папке с сайтом. По ssh подключиться с логином www-data? А как он пароль этого юзера узнает? подбором?
 
Назад
Сверху