gpt4 book ai didi

node.js - 如何创建类似 tutorialspoint 的 linux 终端?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:44:03 25 4
gpt4 key购买 nike

TutorialsPoint Java Compiler

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

我在我的项目中集成了相同的 github 库,它工作正常,但我想了解 tutorialspoint 的流程。

我的假设:

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

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

最佳答案

我认为他们会在您每次访问该页面时创建一个新用户,并为您提供该用户的子 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 开始重复。

关于node.js - 如何创建类似 tutorialspoint 的 linux 终端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39400712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com