Mongodb是一个基于Web的控制台来尝试一下 Mongodb。
我已经创建了一些类似的东西来尝试nodejs。在 nodejs 中,我接受用户输入,然后执行eval
该命令。鉴于 nodejs 的强大功能,有人可以从 Web 控制台创建文件、删除系统上的文件或执行rm -rf
。
我想知道是否可以nodejs
以名为 的用户身份运行node
。此用户节点将无权写入任何内容、创建任何内容或更新任何内容。此用户的唯一访问权限是读取访问权限。
这样做可行吗?还是风险太大?有什么好的策略可以处理这种情况?
答案1
答案2
嗯,问题是如果他有权访问他拥有的文件,用户可能也可以轻松地将权限设置为可编辑的内容。请记住,如果您授予用户访问 shell 命令的权限,那么您已经将自己置于一系列问题之中。这通常是一个坏主意。
即使用户不拥有任何文件而只是为了运行您的应用程序,您也会面临诸如完整临时目录和邮件假脱机之类的问题。
有没有办法在受限环境中运行 V8 引擎?禁止所有 IO?我个人会寻找这样的方法。