gpt4 book ai didi

php - shell_exec() 不会改变 linux 中的 qdisc

转载 作者:太空狗 更新时间:2023-10-29 12:01:00 26 4
gpt4 key购买 nike

对于我的项目,我正在创建 Web 界面来控制 Linux 中的 QoS。我正在尝试使用 shell_exec() 函数 PHP 与终端进行通信。如果尝试像这样简单的事情,它就会起作用:

shell_exec("ip link show");

但如果尝试更改 qdisc(在终端中工作):

shell_exec("sudo tc qdisc replace dev eth0 root pfifo");

没有任何反应。如果我尝试回显 shell_exec(...);,我也不会得到任何输出;

我正在运行 Ubuntu 14.04。我已经在 sudoers 文件中添加了行来执行没有密码的 shell 命令:

#includedir /etc/sudoers.d

%www-data ALL=NOPASSWD: /var/www/html

也许我对 sudoers 文件做错了什么,或者在运行 shell_esec 命令之前我还应该做些什么?

最佳答案

%www-data ALL=NOPASSWD: /var/www/html

此 sudoers 行只允许 www-data 执行文件 /var/www/html。 (这可能是一个目录,而不是一个可执行文件,所以它什么都不做。)

如果你想让 www-data 执行 tc,你需要在 sudoers 文件中指定它,使用可执行文件的完整路径。

关于php - shell_exec() 不会改变 linux 中的 qdisc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36807642/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com