我需要我的 PHP 代碼以不同的用戶身份使用 exec() 運(yùn)行腳本,因此在我添加的 sudoers 文件中:www-data ALL=(csgo) NOPASSWD: WWW_COMMANDSWWW_COMMANDS 是我需要運(yùn)行的腳本的別名列表。雖然當(dāng)我使用su -s /bin/bash www-dataphp 登錄并測(cè)試它是否通過(guò) ssh 工作時(shí)這工作正常,但當(dāng)我嘗試在我的站點(diǎn)上實(shí)際發(fā)送命令并exec("sudo -u csgo sh /path/to/script.sh")打印它告訴我的輸出時(shí)sudo: no tty present and no askpass program specified,腳本將不會(huì)運(yùn)行。我也添加Defaults:www-data !requiretty到我的 sudoers 文件中但沒(méi)有效果。在我的頁(yè)面上運(yùn)行 exec() 時(shí),我可以讓它工作的唯一方法是設(shè)置www-data ALL=(csgo) NOPASSWD: ALL,這顯然不是一個(gè)很好的解決方案。任何人都知道為什么會(huì)這樣/如何解決它。
- 1 回答
- 0 關(guān)注
- 140 瀏覽
添加回答
舉報(bào)
0/150
提交
取消