当知道该用户的 linux 用户名和密码时,有没有办法在特定用户下从 node.js 启动进程(bash)。
我想通过socket.io将终端从服务器传输到网络浏览器,我需要每个用户都以他们的用户名行事,所以用户权限就像在正确的ssh上一样。
当知道该用户的 linux 用户名和密码时,有没有办法在特定用户下从 node.js 启动进程(bash)。
我想通过socket.io将终端从服务器传输到网络浏览器,我需要每个用户都以他们的用户名行事,所以用户权限就像在正确的ssh上一样。
基本上,您通过网络共享 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 链接起来