Задать вопрос
@cryp24

Как выполнить «sudo service tor restart» из php скрипта?

Сервер ubuntu 18.04. Трудность заключается в том, что необходимо ввести пароль а в пхп этого не сделать.
В интернете нашел рекомендации:


Вы должны настроить sudo, чтобы сделать это возможным. У пользователя Apache должны быть права на команды exec, как root, используя sudo. Кроме того, в php-скриптах нет tty, поэтому вам нужно отключить требование tty в sudo. И у вас нет возможности вводить пароль пользователя в sudo в php-скрипте, поэтому вам также нужно отключить проверку подлинности.
Для этого поставьте «перезапуск службы» в текстовый файл и выполните исполняемый файл. Это гораздо более безопасное значение, что пользователь Apache мог только перезапустить TOR, ничего другого. Затем в строке комментария/etc/sudoers:
Defaults requiretty
Добавить строки:
Defaults !authenticate
apache ALL=NOPASSWD: /path/to/file
Замените apache на www-data ​​strong>, если вы используете дистрибутив типа Debian
Теперь вы можете выполнить «sudo service tor restart» из вашего php-скрипта.


В том виде как описано, не работает! Помогите разобраться как это реализовать, может быть в этой схеме что то упущено.
  • Вопрос задан
  • 229 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
abyrvalg
@abyrvalg
> У пользователя Apache должны быть права на команды exec, как root, используя sudo.
За такие рекомендации надо причинять рекомендодателю смерть через сепукку.

Я бы просто устанавливал из пхп какой-то маркер "требуется перезапустить тор". Самое простое - создать определённый файл.
Другая часть, никак не связанная с апачем и вообще с внешним миром, каким-то образом мониторит появление маркера и выполняет при его наличии требуемое действие. Самое простое - использовать крон.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽