以特定使用者身分從PHP 執行指令
在本地主機上執行PHP 腳本時,您可能會遇到在腳本內執行命令的問題無法存取其他使用者擁有的特定資源或實例。例如,嘗試從以 www 使用者身分執行的 PHP 腳本控制 Rhythmbox 播放可能是徒勞無功的。
為了解決這個問題,一個有效的解決方案是利用 sudo 指令。透過在要執行的命令前加上 sudo 前綴,您可以暫時以其他使用者身分執行它,同時保留原始使用者的權限。例如:
<code class="php">exec('sudo -u myuser ls /');</code>
此指令將呼叫 sudo 並以使用者「myuser」身分執行「ls /」指令。但是,為了使這種方法可行,您需要使用 visudo 修改 sudoers 檔案。透過將下列項目附加到 sudoers 檔案中,您可以將 Apache 的 sudo 權限限制為僅限「rhythmbox-client」命令,從而防止它執行任意命令。此策略可確保您的 PHP 腳本可以作為目標使用者與 Rhythmbox 交互,同時保持安全性。
以上是如何以特定使用者身分從 PHP 執行命令?的詳細內容。更多資訊請關注PHP中文網其他相關文章!