如何以特定使用者身分從 PHP 執行命令列應用程式?

DDD
發布: 2024-10-31 11:25:02
原創
628 人瀏覽過

How Can I Execute Command-Line Applications as a Specific User from PHP?

使用特定使用者從PHP 執行命令列應用程式

要從以www 使用者身分執行的PHP 腳本控制Rhythmbox 播放,請執行以下操作:至關重要的是應用程式以目標使用者而不是預設的www 使用者的身份執行。一種有效的解決方案是利用 sudo。

透過利用 sudo,PHP 腳本可以以提升的權限呼叫 Rhythmbox-client 指令。但是,為了確保僅允許特定命令,建議相應地配置 sudoers 檔案。例如:

wwwuser ALL=/usr/bin/rhythmbox-client
登入後複製

透過將 sudo 呼叫限制為特定命令,您可以保護您的環境並防止 Apache 執行任意命令。

在 Rhythmbox-client 可能難以執行的情況下確定要控制的正確實例,考慮建立 bash 腳本來建立適當的環境並執行命令。下面的腳本舉例說明了這種方法:

#! /bin/bash
DBUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS /proc/*/environ 2> /dev/null| sed 's/DBUS/\nDBUS/g' | tail -n 1`
if [ "x$DBUS_ADDRESS" != "x" ]; then
        export $DBUS_ADDRESS
        /usr/bin/rhythmbox-client --pause
fi
登入後複製

透過將此腳本整合到PHP 執行中,您可以授予wwwuser 以有針對性的方式控製播放的能力,從而實現在拿起電話時暫停音樂及播放音樂的所需功能。掛斷後恢復。

以上是如何以特定使用者身分從 PHP 執行命令列應用程式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!