Permissions
Linux bash:非root使用者使用PHP以非root使用者身份執行腳本
我有一個“tom”擁有的 PHP 腳本(使用 PHP-FPM 執行)。“tom”想要以另一個名為“jerry”的使用者身份執行腳本 /srv/helloworld.sh。“tom”有權在伺服器上執行腳本(因此他可以使用 ex.system())。
長和短,“湯姆”想知道如何做到這一點。“湯姆”閱讀了一些關於此的文章:
sudo su -c /srv/helloworld.sh jerry
但主要問題是,腳本要求輸入密碼,你知道,(如果我沒記錯的話)沒有辦法在 Web 界面中輸入密碼。
我真的對這個話題很好奇,如果你能幫助我,我會很高興。提前致謝!
man sudoers
擁有您需要的所有資訊。您需要該命令
sudo -u jerry /srv/helloworld.sh
並且必須進行更改/etc/sudoers
,以便允許 tom 執行此命令而無需輸入密碼。NOPASSWD
是你的關鍵詞。
您可以配置 sudo 以允許 tom 在沒有密碼的情況下以 jerry 身份執行該腳本。閱讀 sudoers - 我將從“man sudoers”開始。