Ubuntu
腳本嘗試執行時權限被拒絕
我有一個 PHP 腳本,它使用以下命令執行
exec()
/root/gsutil/gsutil <COMMAND>
在我的錯誤日誌中,我收到以下資訊:
sh: 1: /root/gsutil/gsutil: Permission denied
有誰知道我可以做些什麼來讓我的 php 腳本執行該命令?
/root 下的任何內容通常都歸 root 使用者所有。PHP 通常不會(出於安全原因也不應該)在 root 使用者下執行。您應該將其安裝
gsutil
在 PHP 具有執行權限的位置。例如,將其複製到/var/www
:cp /root/gsutil/gsutil /var/www/gsutil
我認為在 Ubuntu PHP 下通常以
www-data
使用者身份執行(雖然不是 100% 肯定),所以您需要將文件的所有權更改為該使用者:chown www-data.www-data /var/www/gsutil
最後,通過設置 chmod 770 確保文件對所屬使用者/組(www-data)是可執行的:
chmod 770 /var/www/gsutil
然後將您的 PHP 腳本設置為執行
/var/www/gsutil
,一切都應該執行良好。