0

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

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

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

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

首先,这可以做到吗?是否可以?

第二,有什么例子吗?我什么也没找到。

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

4

3 回答 3

1

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

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

于 2012-06-09T21:04:10.673 回答
0

嗯,这是可能的,但请记住,清理用户输入是很困难的。

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

以sinatra为例:

post '/whatever' do
  # This is dangerous!
  `myscript #{params[...]}`
end
于 2012-06-09T19:02:03.600 回答
0

错误,但是您希望它在客户端运行,对吗?

所以你并没有真正将它作为 bash 在你的系统上运行,你只是在你的 web 框架中对其进行模板化。

如果浏览器可以显示这个,它不会只是 d/l 作为一个文件,所以你需要在响应中设置一个Content-Disposition: 附件头来强制 ad/l。

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

于 2012-06-10T21:05:46.010 回答