1

我想从 php 运行一个 sh 脚本。为此,我需要打开 visudo 文件:

须藤 visudo

有了这个:

www-data ALL=(ALL) NOPASSWD: ALL

有用!

但我不想启用所有命令,只是一个特定的 sh 脚本。所以我把它改成:

www-data ALL=(ALL) NOPASSWD: /www/......./truncatefiles.sh

路径是正确的,但是 shell_exec(来自 php)返回: sudo: no tty present and no askpass program specified 而且命令不会运行。如果 visudo 行与我的第一个示例相同。

可能是什么问题?

4

1 回答 1

0

我认为这是一个坏主意,因为它可能会产生潜在的安全问题。

但是,如果您仍然想这样做,您可以保留www-data ALL=(ALL) NOPASSWD: /www/......./truncatefiles.sh并同时注释掉包含Defaults requirettyin的行/etc/sudoers始终使用 visudo 以避免错误)。

于 2016-12-22T21:40:04.117 回答