В PHP есть безопасный режим, который заставляет PHP запускаться как тот, кто владеет скриптом, но я не думаю, что это то, что вам нужно, и безопасный режим не очень хорошо работает в любом случае, его нужно удалить.из какой-то будущей версии PHP
Существовало также расширение Apache, которое можно было использовать для запуска сценариев PHP под конкретным пользователем, но я думаю, что его разработка остановилась некоторое время назад.
Также возможно, чтобы PHP запускался как сценарий командной строки, и в этом случае вы можете указать пользователя, который запускает сценарий обычным образом, как в linux.
Полагаю, у вас может быть «заглушенный» PHP-скрипт, который запускается под www-данными и выполняется, когда пользователь заходит на него через свой браузер.Этот скрипт будет определять личность вошедшего в систему пользователя, затем он может запустить другой PHP-скрипт с exec (), чтобы выполнить настоящую работу.Вы должны быть в состоянии выполнить сценарий от имени пользователя, которого вы хотите.
Обратите внимание, что это всего лишь предположение с моей стороны, я никогда не пытался запускать сценарии PHP как отдельный пользователь из Apache, только изкомандная строка.