网页中的 shell 是真 shell 还是其他? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Lucups
V2EX    Linux

网页中的 shell 是真 shell 还是其他?

  Lucups 2014-06-24 12:40:25 +08:00 5919 次点击
这是一个创建于 4131 天前的主题,其中的信息可能已经有所发展或是发生改变。
我看到一些网站比如 Docker 官网的 Try it ( http://www.docker.com/tryit/ ),里面的 terminal 是真的把命令发给服务器执行把结果返回还是怎么做的?

我尝试用 PHP 写了一个,前端把获取到的命令,提交, PHP 用 exec 之类的函数执行,把打印出来的返回给前端。但这样虽然能执行一些简单的命令,但可以说完全达不到人家的那种效果。首先是不安全,其次是无法运行像 iPython 之类的交互环境。
14 条回复    2014-06-24 21:52:42 +08:00
ChiChou
    1
ChiChou  
   2014-06-24 12:43:47 +08:00   1
you@tutorial:~$ sudo
sudo: command not found

显然不是真的
9hills
    2
9hills  
   2014-06-24 12:44:45 +08:00   1
有两种
1. Emulator,模拟器,只是模拟几个命令罢了,很安全很简单
2. 真正的Shell

两个都有开源实现
liyanbowen
    3
liyanbowen  
   2014-06-24 12:52:21 +08:00   1
you@tutorial:~$ ls
This is an emulator, not a shell. Try following the instructions.
Lucups
    4
Lucups  
OP
   2014-06-24 12:58:24 +08:00
其实我最想问的是如何实现。。。
@ChiChou
@liyanbowen
dorentus
    5
dorentus  
   2014-06-24 13:15:05 +08:00   1
@ChiChou
这个理由不成立……
sudo 又不是每个发行版都自带的
dianso
    6
dianso  
   2014-06-24 13:21:46 +08:0
cgi调用的shell吧
chilaoqi
    7
chilaoqi  
   2014-06-24 13:25:12 +08:00   1
这种不是web terminal么?开源实现很多。
记得有单个js文件就可以实现的。
ShiningRay
    8
ShiningRay  
   2014-06-24 13:26:58 +08:00   1
看具体需求吧,有些是用真的shell,但是是环境是个沙箱,经过裁剪和保护的
chilaoqi
    9
chilaoqi  
   2014-06-24 13:31:42 +08:00
@ShiningRay Linux用户权限管理 很够用了吧。直接Server执行命令,STDOUT喂Queue,前端取出来就行。不安全的操作直接就拒绝了。
fdgogogo
    10
fdgogogo  
   2014-06-24 16:05:36 +08:00   2
https://github.com/elfet/console
这里有一个单文件的php实现, 可以参考下, top, vi之类的命令用不了

https://code.google.com/p/shellinabox/
这个是Linode用的Ajax Console, 功能更强大

另外还有好些Java applet实现的就不说了
txlty
    11
txlty  
   2014-06-24 16:11:38 +08:00   1
用js写的linux虚拟机。这是真正的linux,不是shell。
http://bellard.org/jslinux/
txlty
    12
txlty  
   2014-06-24 16:25:18 +08:00   1
三种。难度由易到难
1.用js模拟几个简单命令
2.把前端命令发给后端,再把执行结果发回前端。这可能安全吗?
3.用js写一个虚拟机,跑定制好的linux。
superbear
    13
superbear  
   2014-06-24 17:09:07 +08:00
koding.com这个网站是怎么做的?线上开发环境
usedname
    14
usedname  
   2014-06-24 21:52:42 +08:00
随便敲了几个都是command not found
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2658 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 134ms UTC 15:24 PVG 23:24 LAX 08:24 JFK 11:24
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86