在tutorialspoint中,他们使用term.js创建了linux终端。
我已经在我的项目中集成了相同的github库,它运行正常,但我正在尝试理解tutorialspoint的流程。
我的假设:
whoami
),因此另一个用户无法操作其他用户文件。我在root用户下使用forever.js运行nodejs服务器,我想实现相同类型的功能。这样做的正确方法是什么?如果有另一种方式请详细说明。
答案 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开始重复。