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