Jalankan perintah sebagai pengguna lain sekali:
sudo -u www-data php script.php
Ini akan berhasil jika Anda root
.
Adapun untuk selalu menjalankan php www-data
, ada beberapa kemungkinan. Anda bisa membuat shellscript wrapper sederhana. Jika /usr/bin/php
hanya tautan lunak /usr/bin/php5
atau serupa, itu membuatnya lebih sederhana. Ganti saja tautan lunak (BUKAN file php5
) dengan skrip seperti ini:
#!/bin/sh
sudo -u www-data php5 $*
return $?
Itu belum diuji. Perlu diketahui juga bahwa ini akan SELALU mencoba untuk dijalankan php5
sebagai pengguna www-data
, bahkan jika pengguna mungkin tidak root
dan mungkin tidak memiliki izin untuk melakukannya. Dan itu mungkin juga bukan apa yang Anda inginkan. Beberapa layanan yang diinstal mungkin mengalami masalah ketika mencoba menjalankan php.
Solusi (mungkin lebih baik) untuk hanya menerapkan itu ke root mungkin dengan membiarkan soft-link itu /usr/bin/php
sendiri dan menempatkan skrip di /root/bin
dalamnya. Kemudian tambahkan folder itu ke PATH via .bashrc
, .profile
atau serupa. Jika sudah /etc/skel/.profile
, itu mungkin menunjukkan bagaimana hal itu dilakukan:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Setelah ini ada di Anda .bashrc
, .profile
atau serupa, setiap shell baru yang Anda buka akan memungkinkan Anda untuk langsung mengeksekusi semua executable (+ x) di $HOME/bin
( /root/bin
untuk root).
Petunjuk: Anda mungkin ingin memberi nama skrip pembungkus dengan sesuatu seperti phpwww
sehingga Anda secara eksplisit menentukan php script.php
atau phpwww script.php
memutuskan apakah Anda ingin php biasa atau sudo'ed.
Solusi lain adalah alias sederhana. Tempatkan ini di Anda .bashrc
, .profile
atau serupa:
alias phpwww='sudo -u www-data php'