请问有什么可以通过web界面管理shell脚本的工具?

2024-11-24 06:32:53
推荐回答(1个)
回答1:

首先创建一个C++的文件:runcmd.c
#include#include#include#include#include#includeusing namespace std;int main(int ac,char **argv) // 获取命令参数{ string get("su - root -c '"); //(1)命令首先执行使用root权限执行传进命令,不做这个处理的话,还是无法执行
for(int i=1;iget+=" ";
get+=temp;
}
get+="'"; string cmd=get; //命令字符串
setuid(0); //将当前用户的uid设置为0 (root用户的uid为0),使其具有root权限,同时需要用(1)的步骤才能执行,否则web还是无法执行
system(cmd.c_str()); //执行命令}1234567891011121314151617181920

然后在系统中编译生成对应的命令:
g++ -o runcmd -Wall runcmd.c
chmod u+s runcmd12

runcmd需要赋特殊权限,u+s,否则后面也是无法执行。
另外新版本php中默认不打开安全模式,所以安全模式问题暂时不考虑,但是还是需要修改php的配置文件,主要是把调用shell脚本的方法打开,就是修改php.ini中disable_function,把system,exec,shell_exec这几个方法去掉,重启php即可。
后面就是编写php文件,代码很简单:
system("/workdata/www/default/runcmd $cmdstr"); //调用cmd, 执行命令?>1234

然后直接部署到服务器上,浏览器打开即可。