首頁 >後端開發 >php教程 >如何在沒有密碼提示的情況下從 PHP 運行需要 sudo 的 Shell 腳本?

如何在沒有密碼提示的情況下從 PHP 運行需要 sudo 的 Shell 腳本?

Barbara Streisand
Barbara Streisand原創
2024-11-17 18:24:02392瀏覽

How Can I Run Sudo-Required Shell Scripts from PHP Without Password Prompts?

如何從PHP 執行SUDO 所需的Shell 腳本

在PHP 中執行需要提升權限的shell 腳本可能具有挑戰性,因為shell_exec() 函數不支援密碼提示。但是,有一些方法可以克服此限制並自動執行腳本。

解決方案:修改Sudoers 檔案

一種有效的解決方案是編輯sudoers 檔案(通常位於在/etc/sudoers 中)並新增一條規則,允許在沒有密碼的情況下執行指定的腳本。為此,請依照以下步驟操作:

  1. 使用以下指令以root 權限開啟sudoers 檔案:

  2. 新增一行採用以下一行格式:

    其中www-data 是Web 伺服器的使用者名, /path/to/script 是需要提升權限的bash 腳本的路徑。

  3. 儲存並關閉 sudoers 檔案。

透過進行此修改,您可以有效地授予 Web 伺服器使用者執行指定腳本的權限,而不會提示輸入密碼。

完成這些步驟後,您可以呼叫 bash像往常一樣使用 shell_exec() 函數從 PHP 編寫腳本。該腳本將以提升的權限運行,沒有任何密碼提示。

以上是如何在沒有密碼提示的情況下從 PHP 運行需要 sudo 的 Shell 腳本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn