节点 – 防止subprocess进入父目录
我从我的节点服务器产生一个进程,即在/tmp/running/username
(这是用户上传的一个节点进程)
我该如何防止它读取(或知道) /tmp/running/username
以外的任何内容?
我可以用任何需要的方式产生这个过程。
您可以将该进程作为chroot
的参数产生,这将改变进程的根目录:
spawn('chroot', ['/tmp/running/username', 'yourprocess', 'arg1', ...]);
另一种方法是使用node-posix模块中的chroot
函数(但是为了防止从中产生外部程序的Node进程被chrooted,您可能需要先fork,然后从subprocess调用chroot)。