Esegui un comando come un altro utente una volta:
sudo -u www-data php script.php
 Questo dovrebbe funzionare se sei root .
 Per quanto riguarda l'esecuzione sempre di php come www-data , ci sono diverse possibilità. Potresti creare un semplice shellscript wrapper. Se /usr/bin/php è solo un soft-link a /usr/bin/php5 o simili, che lo rende più semplice. Basta sostituire il soft-link (NON il file php5 ) con uno script come questo:
#!/bin/sh
sudo -u www-data php5 $*
return $?
 Non è testato però. Tieni anche presente che questo cercherà SEMPRE di eseguire php5 come utente www-data , anche se l'utente potrebbe non essere root e potrebbe non avere il permesso di farlo. E potrebbe anche non essere quello che vuoi veramente. Alcuni servizi installati potrebbero incorrere in problemi durante il tentativo di eseguire php.
 Una soluzione (forse migliore) per applicarla solo a root potrebbe essere quella di lasciare il soft-link /usr/bin/php da solo e posiziona lo script in /root/bin invece. Quindi aggiungi quella cartella a PATH tramite .bashrc , .profile o simili. Se hai /etc/skel/.profile , che potrebbe indicare come si fa:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
 Una volta che questo è nel tuo .bashrc , .profile o simili, ogni nuova shell che apri ti permetterà di eseguire direttamente qualsiasi eseguibile (+x) in $HOME/bin (/root/bin per root).
 Suggerimento:potresti voler nominare lo script wrapper come phpwww quindi specifichi esplicitamente php script.php o phpwww script.php per decidere se vuoi un php normale o sudo'ed.
 Un'altra soluzione è un semplice alias. Inseriscilo nel tuo .bashrc , .profile o simile:
alias phpwww='sudo -u www-data php'