我可以在nvm安装的节点中使用任何大于1023的PORT
来使用server.listen(PORT)
。如何在非特权用户下使用系统端口(例如,低于1024的端口)?
在我们的Ubuntu 16.04服务器上,我曾这样做:
sudo setcap CAP_NET_BIND_SERVICE=+eip `readlink -f \`which node\``
然而,我们升级到Ubuntu 18.04之后,它似乎不再起作用了。我看到了以下错误:
Error listen EACCES 0.0.0.0:925
这种情况发生在所有小于1024的端口上,所以这不仅仅是端口已经被占用的一次性案例。
为什么这个方法不起作用了呢?我必须漏掉了些东西,或者Ubuntu 18.04已经发生了变化。
CAP_NET_BIND_SERVICE
。 - Redsandro