如何像tutorialspoint一样创建linux终端?

时间:2016-09-08 21:48:41

标签: node.js linux shell

TutorialsPoint Java Compiler

在tutorialspoint中,他们使用term.js创建了linux终端。

我已经在我的项目中集成了相同的github库,它运行正常,但我正在尝试理解tutorialspoint的流程。

我的假设:

  • 每次他们在root用户(cg)下创建新的user_id并使用该user_id运行终端(nodejs服务器)时,每次重新加载页面时都会有一个不同的user_id(在终端中运行whoami ),因此另一个用户无法操作其他用户文件。

我在root用户下使用forever.js运行nodejs服务器,我想实现相同类型的功能。这样做的正确方法是什么?如果有另一种方式请详细说明。

1 个答案:

答案 0 :(得分:1)

我认为他们每次访问该页面时都会创建一个新用户,并为您提供该用户的子shell。使用Shell编程技术可以轻松实现。每次创建一个新用户只不过是一个安全措施。

所以我将通过5个步骤简要解释这个概念:

1 - 创建新用户:

shell_exec('useradd --expiredate 2016-09-10 [username]');

http://www.computerhope.com/unix/useradd.htm

2 - 登录此新创建的用户帐户:

shell_exec('su [username]');

3 - 使用AJAX(动态)获取用户对PHP脚本的输入。

4 - 执行用户命令并将输出发送给用户:

<?php
$output = shell_exec("[user's command]");
echo "<pre>$output</pre>";
?>

5 - 从3开始重复。