前言廢話
PHP 具有一個很好用的指令 exec,可以讓我們在執行網頁的過程中,透過 PHP 去執行命令。
但是,若沒有經過設定,我們則不能執行 sudo 指令,而這篇文章就是來講解解決方法。
安裝 sudo
若要執行 root 指令,你必須可以使用 sudo。而在一些作業系統如 Ubuntu 已經預載,若是用 Debian 之類的,先安裝他。
apt-get install -y sudo
編輯 /etc/sudoers
接著我們要編輯 /etc/sudoers
這個檔案:
sudo vim /etc/sudoers
由於 PHP 在執行命令的時候是使用 www-data
這個使用者,因此我們必須要給他一些權限
在文件中間加上以下文字
www-data ALL=NOPASSWD: ALL
結果大致上會長這樣
這樣就大功告成啦!
結語
現在,你可以在 PHP 的 exec 中執行 root 指令啦!
但是,請注意你的語法,不要讓別人可以隨便爆破到你的機器呦。