Рейтинг:-1

Пытаюсь запустить приложение через shell_exec на php

флаг br

Я несколько дней ломал голову над этой проблемой. Я неплохо разбираюсь в Linux, но, конечно, не профи.

Цель: запустить приложение soulseek-cli через shell_exec (пользователь www-data)

Проблема не в том, что работает PHP-сторона, а в том, что Soulseek запускается с использованием пользователя www-data (или любого другого пользователя, кроме techno)

Я установил с помощью npm в соответствии со следующими инструкциями

npm установить -g soulseek-кли (после некоторых команд для ключей, в которых я не уверен)

https://github.com/aeyoll/soulseek-кли

Я могу заставить soulseek работать как техно-пользователь на терминале, но получаю сообщение об ошибке /usr/bin/env: 'узел': нет такого файла или каталога при попытке запустить soulseek через www-данные на странице PHP.

На терминале пытаюсь запустить soulseek через рут выдает команда не найдена хотя его можно найти с где искать души

Оказывается приложение установлено только для техно? Есть ли способ использовать пользователя techno вместо www-data на php? или любой способ запуска пользовательских техно-приложений с помощью www-данных?

Сценарий оболочки:

сценарий оболочки

PHP-скрипт:

PHP-скрипт

Попытка запустить soulseek от имени пользователя root:

Попытка запустить soulseek от имени пользователя root

Версии nvm и узла:

версии nvm и node

Рейтинг:0
флаг ro

Пользователь www-data просто не имеет права запускать эту программу без ввода пароля.

Вы можете отредактировать файл /etc/sudoers, чтобы сделать это возможным.

Найдите записи в файле sudoers и добавьте конкретный путь к вашему приложению. Возможно, "/usr/bin/soulseek"?

Я сделал это, чтобы управлять своей веб-камерой и выполнять скрипт на php-странице моего веб-сайта, который записывает данные о температуре/влажности в файл. Я назвал набор всех путей к файлам просто «Camera-Funktions = CAMFKT».

# Спецификация псевдонима команды
Cmnd_Alias ​​CAMFKT = /usr/bin/cam_on, /usr/bin/cam_off, /usr/bin/cam_reset, /usr/bin/play, /usr/bin/HTU21D.

# Спецификация привилегий пользователя
корень ВСЕ=(ВСЕ:ВСЕ) ВСЕ

# Разрешить членам группы sudo выполнять любую команду
%sudo ВСЕ=(ВСЕ:ВСЕ) ВСЕ

www-данные ВСЕ=(ВСЕ) NOPASSWD: CAMFKT

Я не изменил запись root и %sudo, это только для того, чтобы показать вам место, где вы должны разместить другие записи в файле. Вы знаете, как редактировать файл sudoers? Если вы изменили его, пользователь www-data (кто-то из интернета) может запустить программу. Будь осторожен.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.