当前位置: 首页 > 知识库问答 >
问题:

PHPshell_execsudo on CENTOS 7

厉高逸
2023-03-14

我与centos 7上的shell_exec和sudo有问题。从apache执行时,以下行没有输出:

$stat=shell_exec('sudo scripts/usb/hidubs relay cmd ID=HIUPS stat');

var_dump($stat);给空

我已经添加了以下行使用Visudo:

apache ALL=NOPASSWD:/var/www/html/scripts/usb/hidubs-relay-cmd

默认值/var/www/html/scripts/usb/hidubs relay cmd!要求

在/var/log/secure中,我可以阅读如下内容:

6月4日17:45:43 anhelli sudo:apache:TTY=未知;PWD=/var/www/html;用户=根用户;COMMAND=scripts/usb/hidubs relay cmd ID=HIUPS stat

我尝试了su-apache并像上面那样运行sudo,但效果很好。为什么我不能得到shell_exec的输出,有什么想法吗?

非常感谢你的帮助。最好的问候bzc0fq

共有1个答案

归鸿朗
2023-03-14

我终于解决了这个问题。是selinux策略阻止了对hidusb中继cm文件的访问。解决方案使用以下命令添加本地安全策略:

Cat /var/log/audit/audit.log|grep拒绝|grep hidusb-relce-cm|audit2允许-M hidusb-relce-cm

semodule-i hidusb继电器cm。聚丙烯

我在每次运行Audit2允许实用程序时都更改了策略名称。我不得不运行它5次,直到所有的拒绝都被“服务”。我还设置了两次sebool:

setsebool-P httpd\u mod\u auth\u pam on

setsebool-P httpd_统一开启

问题是我必须执行命令

semodule-DB

查看/var/log/audit/audit中隐藏的拒绝。上面的日志对我有用。

 类似资料:

相关问答

相关文章

相关阅读