[phpf]exec[/phpf] verwendet für die Ausführung der Kommandos den Besitzer des aktuellen Requests / Files. Meist ist das, wie bei dir, ein privilegierter Zugang.
Umgehen lässt sich das für den Fall, dass [phpf]exec[/phpf] auf den Besitzer des aufgerufenen Files zurückgreift, leicht, indem der Besitzer entsprechend angepasst wird.
Sollte das nicht funktionieren, gibt es immer noch zwei weitere Möglichkeiten. Der einfachere Weg führt über ein Benutzerverzeichnis (user directory) unter dem Apache-Server, bei dem automatisch der Besitzer des entsprechenden Benutzerverzeichnisses verwendet wird. Jedoch sehen dabei die URLs recht unschön aus (
domain/~benutzername/).
Der etwas ungemütlichere Weg führt über
Apache und SuExec, welches das Setzen individueller Benutzerkonfigurationen (im Rahmen der bestehenden Nutzer) gestattet. Es wird weiterhin wie bei den Benutzerverzeichnissen verfahren, jedoch ohne die Umstände sich auf diese zu beschränken.
Auf PHP-Ebene selbst bliebe nur der Wechsel auf einen anderen ausführenden Nutzer: Der PHP-Dienst / -Prozess müsste vom entsprechenden Nutzer gestartet werden. Dabei kann es aber zu hässlichen Rechteproblemen und dergleichen kommen - Ist also keine wirklich gute Wahl.