繁体   English   中英

以root身份在远程计算机上执行perl脚本,并使用javascript将输出返回到网页

[英]executing a perl script on a remote machine as a root and getting the output back into the webpage using javascript

我的perl脚本读取网络流量并将特定长度的数据包的有效载荷打印回终端。 为此, 脚本应该由root启动,否则将不会读取数据包。

我为此在perl中使用pcap。

现在我的服务器上有一个网页。 我可以从我的网页上执行该perl脚本,并将正在终端上打印的输出获取到我的网页中吗?

我正在尝试使用javascript来实现此目的,但我不知道它是如何完成的。 我尝试使用谷歌搜索,得到的只是ssh user@remote "perl pathto/perlfile.pl"

有人可以帮我这个忙吗?

  • 要从网页启动命令,请向您的网络服务器上运行的另一个CGI脚本发出AJAX调用。

    AJAX调用可以返回运行命令的结果(通常为JSON或XML格式),然后调用一些JavaScript处理程序以在页面DOM中呈现该数据。

  • 要在本地在Web服务器的Unix机器上以root用户身份运行某些内容,您将需要从第一个项目符号中提到的CGI脚本中调用suid脚本(因为出于安全性考虑,Web服务器及其运行的所有脚本通常都以非root用户身份运行原因)。

  • 要在另一台计算机上以root用户身份运行某些内容,您已正确发现需要使用ssh(来自同一CGI脚本): ssh root@your_remotehost "perl pathto/perlfile.pl"

    您将需要在2个系统之间正确设置ssh密钥,因此ssh不会要求输入密码。

    以非root用户身份运行时,如果没有密码,您将无法以root身份ssh; 在这种情况下,您将需要:

    • ssh作为CGI脚本的同一用户运行

    • 使远程服务器上执行的命令运行suid脚本,如上面针对本地情况所述。

如果您需要进一步的指导,则需要发布特定的代码段和错误消息或疑难解答详细信息,以便我们评估问题所在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM