2015-09-08 57 views
1

我想通过php api启动centos的shellinabox。无法通过php api运行shellinabox

当用户点击api时,shellinaboxd -p 'portno'命令应该被执行,shellinabox应该从特定的端口号开始。

但这种情况不会发生,而不是这个错误出现 错误:

未能找到任何可用的端口[尾巴上-f /无功/日志/的httpd/error_log中] 下面的代码运行在正确Ubuntu的,但不是在centos上。
考虑休息所有的事情工作正常。

$app->get('/test', function() { 
    exec('shellinaboxd -p '.$port); 
}); 

执行:

shellinaboxd -p 'someport'庆典上也能正常工作。

我的系统上安装了php5.5和apache2。

回答

0

我已经提出了一个解决方案。 Centos是SELINUX(Secured linux)。所以它不允许任何来自进程的日志记录动作,比如php api(在我的情况下,其用户是apache)处于默认模式,即“强制执行”。

所以改变SELINUX模式为:在/ etc/selinux的/配置

和重启

'SELINUX =禁用'。

它有一个模式,即宽容。 了解更多关于它在这里:https://wiki.centos.org/HowTos/SELinux

1

错误消息Failed to find any available port告诉您该端口已被使用。

尝试不同的端口。

+0

谢谢,但事实并非如此,我生成不同的端口号,并试图在这些端口上运行shellianbox。 $ port变量存储这些生成的端口(一次一个)。这些生成的端口是自由端口(范围4500-4600)。我已检查是否有任何服务在生成的端口上运行。 –