Это система Ubuntu, и мне нужен PHP для выполнения программы с определенным именем пользователя, скажем, userA.PHP взаимодействует с Shell Script
Я использовал функцию php exec() для вызова sudo -Eu userA command_to_run_program, это не сработало из-за отсутствия некоторых функций безопасности или переменных среды на Ubuntu.
Так что я имею в виду, если этот альтернативный способ может быть достигнут:
С задним конца, есть скрипт оболочки с фиксированным подрядом Pid и ожидание сигналов. Если этот процесс получит определенный сигнал, он выполнит программу. Предположим, что я вручную начал этот сценарий оболочки с помощью userA. Поэтому я предполагаю, что когда он получает сигнал и выполняет программу, программа выполняется с помощью userA.
И на этом компьютере есть сервер Apache с PHP. Передний пользователь переходит на страницу PHP, а программа php отправляет сигнал сценарию запуска оболочки, пробуждает скрипт оболочки и, таким образом, программа выполняется пользователем.
Если это может быть достигнуто, то что лучше всего подходит для этого?
Спасибо за помощь!
Лучшей практикой является, вероятно, решение переменных окружения или функций безопасности, а не создание сложного беспорядка сигналов и помощников! –