从node.js脚本中禁用sudo / root权限

我需要在我的node.js应用程序中使用sudo权限在端口80上运行服务器,或者运行一些其他启动pipe理的东西。 但是,当我这样做,我不希望这个特权了,因为那么我会从node_modules运行一些外部库。

那么,我怎样才能从node.js脚本中禁用我的pipe理权限呢?

你需要使用:

process.setgid('somegroup'); process.setuid('someuser'); 

看文档:

看到这篇文章的更多信息:

其他选项

绑定到低端口而不以root运行的另一种方法是在系统支持的情况下提供绑定到低端口的function – 例如,在Linux上使用CAP_NET_BIND_SERVICE,如下所示:

 sudo setcap 'cap_net_bind_service=+ep' /path/to/your/program 

这样你就不必以root身份运行它,而且以后你不必更改为其他用户。