PHP 的 exec 執行 root 指令

前言廢話

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

結果大致上會長這樣

001.jpg

這樣就大功告成啦!

結語

現在,你可以在 PHP 的 exec 中執行 root 指令啦!

但是,請注意你的語法,不要讓別人可以隨便爆破到你的機器呦。