可以这样做吗? Web应用程序中的Bash脚本

时间:2012-06-09 18:56:55

标签: bash tomcat web-applications war

我有一个安装应用程序的bash脚本(支持linux / unix)。 我不想在终端中执行脚本,而是将其部署为Web应用程序。

我想为这个脚本创建一个Web图形界面,以便用户可以在Web表单中提供必要的输入,并在准备好后,将这些变量传递给bash脚本以便执行。

这个脚本显然需要root权限。

我打算用tomcat 7 / servlet / jsp来实现它。我想将它部署为.war文件。

首先,可以这样做吗?有可能吗?

第二,有什么例子吗?我没找到任何东西。

第三,任何替代方法/更好的想法?

3 个答案:

答案 0 :(得分:1)

我会尝试tomcat自己的CGI支持。

http://tomcat.apache.org/tomcat-6.0-doc/cgi-howto.html

答案 1 :(得分:0)

嗯,这是可能的,但请记住,消毒用户输入很难。

你想要做的是使用脚本语言或框架(我推荐sinatra),并使用html表单将参数传递给后端。在后端,你通过传递你想要的任何参数来调用你的脚本。

sinatra示例:

post '/whatever' do
  # This is dangerous!
  `myscript #{params[...]}`
end

答案 2 :(得分:0)

呃,但是你想让它在客户端运行,对吗?

所以你没有真正在你的系统上以bash的形式运行它,你只需在你的web框架中对它进行模板化。

如果浏览器可以显示此内容,则它不会仅仅作为文件d / l,因此您需要在响应强制广告中设置内容处置:附件标头/升。

您自然需要用户的合作才能在他或她的系统上以root身份运行...