Spusťte příkaz jednou jako jiný uživatel:
sudo -u www-data php script.php
To by mělo fungovat, pokud jste root
.
Jako vždy spouštět php jako www-data
, existuje několik možností. Mohli byste vytvořit jednoduchý obalový skript. Pokud /usr/bin/php
je pouze měkký odkaz na /usr/bin/php5
nebo podobně, tím je to jednodušší. Stačí nahradit soft-link (NE soubor php5
) pomocí skriptu, jako je tento:
#!/bin/sh
sudo -u www-data php5 $*
return $?
To ale není vyzkoušeno. Také si uvědomte, že se to VŽDY pokusí spustit php5
jako uživatel www-data
, i když uživatel nemusí být root
a nemusí k tomu mít povolení. A také to nemusí být to, co opravdu chcete. Některé nainstalované služby mohou při pokusu o spuštění php narazit na problémy.
(možná lepším) řešením, jak to aplikovat pouze na root, může být ponechat soft-link /usr/bin/php
sám a umístěte skript do /root/bin
namísto. Poté přidejte tuto složku do PATH pomocí .bashrc
, .profile
nebo podobné. Pokud máte /etc/skel/.profile
, který může ukazovat, jak se to dělá:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Jakmile to bude ve vašem .bashrc
, .profile
nebo podobně, každý nový shell, který otevřete, vám umožní přímo spouštět libovolné spustitelné soubory (+x) v $HOME/bin
(/root/bin
pro root).
Tip:Možná budete chtít pojmenovat skript obalu něco jako phpwww
takže explicitně zadáte php script.php
nebo phpwww script.php
rozhodnout, zda chcete běžné nebo sudo'ed php.
Dalším řešením je jednoduchý alias. Vložte to do .bashrc
, .profile
nebo podobně:
alias phpwww='sudo -u www-data php'