我想通过php api在centos上启动shellinabox。
当用户点击api时,应该执行shellinaboxd -p 'portno'
命令并且shellinabox应该从特定的端口号开始。
但这不会发生,而是出现了这个错误 错误:
无法找到任何可用端口[on tail -f / var / log / httpd / error_log] 下面的代码在ubuntu上正确运行,但在centos上没有 考虑休息一切正常。
$app->get('/test', function() {
exec('shellinaboxd -p '.$port);
});
执行:
bash上的 shellinaboxd -p 'someport'
也可以。
我的系统上安装了php5.5和apache2。
答案 0 :(得分:1)
错误消息Failed to find any available port
告诉您该端口已被使用。
尝试不同的端口。
答案 1 :(得分:0)
我已经找到了解决方案。 Centos是SELINUX(安全的Linux)。因此它不允许来自进程的任何日志记录操作,例如php api(在我的情况下,其用户是apache)处于默认模式“强制执行”。
因此将SELINUX模式更改为:
中的'SELINUX = disabled'
并重启。
它还有一种模式,即许可。 在此处阅读更多相关信息:https://wiki.centos.org/HowTos/SELinux