0

当知道该用户的 linux 用户名和密码时,有没有办法在特定用户下从 node.js 启动进程(bash)。

我想通过socket.io将终端从服务器传输到网络浏览器,我需要每个用户都以他们的用户名行事,所以用户权限就像在正确的ssh上一样。

4

1 回答 1

1

基本上,您通过网络共享 SSH 连接。

您应该从 node.js 内置功能 child_process.spawn 生成子进程,如下所示:

var spawn = require('child_process').spawn; ls = spawn('ls', ['-lh', '/usr']);

见这里: http ://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options

要启动每个用户 SSH,您应该使用 :(在子进程生成中)

ssh -tt abcd_user@server.com [command_to_execute]

其余的取决于您将 node.js 上的子进程与网页上的接口与您的 socket.io.js 链接起来

于 2013-02-06T10:41:22.693 回答