如何從PHP 執行SUDO 所需的Shell 腳本
在PHP 中執行需要提升權限的shell 腳本可能具有挑戰性,因為shell_exec() 函數不支援密碼提示。但是,有一些方法可以克服此限制並自動執行腳本。
解決方案:修改Sudoers 檔案
一種有效的解決方案是編輯sudoers 檔案(通常位於在/etc/sudoers 中)並新增一條規則,允許在沒有密碼的情況下執行指定的腳本。為此,請依照以下步驟操作:
使用以下指令以root 權限開啟sudoers 檔案:
新增一行採用以下一行格式:
其中www-data 是Web 伺服器的使用者名, /path/to/script 是需要提升權限的bash 腳本的路徑。
透過進行此修改,您可以有效地授予 Web 伺服器使用者執行指定腳本的權限,而不會提示輸入密碼。
完成這些步驟後,您可以呼叫 bash像往常一樣使用 shell_exec() 函數從 PHP 編寫腳本。該腳本將以提升的權限運行,沒有任何密碼提示。
以上是如何在沒有密碼提示的情況下從 PHP 運行需要 sudo 的 Shell 腳本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!