1

Я хочу воспроизвести звуковой файл на моем сервере, используя PHP. Скрипт PHP вызывается Apache и выполняется под пользователем nobody, который по умолчанию не имеет доступа к динамикам. Поэтому я создал новый soundoutput пользователя, который позволяет воспроизводить звук и имеет права на чтение звуковых файлов, которые он должен воспроизводить.

Если я вошел в систему как пользователь root, я могу воспроизвести звуковой файл, используя echo password | sudo -Su soundoutput mpg321 '/path/to/sound.mp3' . Проблема в том, что это не работает, когда я выполняю эту команду, используя PHP system_exec . Я полагаю, что никому не разрешено запускать sudo, но что я могу сделать, если ему разрешено это делать?

Любая помощь приветствуется.

1 ответ1

0

Запустите Apache как httpd вместо никем, затем запустите:

# gpasswd -a httpd audio

Это должно предоставить пользователю httpd аудио-привилегии.

Кроме того, какова цель? Вы думали о MPD? Существует множество веб-клиентов, которые вы можете использовать, если вы просто пытаетесь играть музыку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .