我需要在我的node.js应用程序中使用sudo权限在端口80上运行服务器,或运行其他一些启动管理的东西。 但是当我这样做时,我不再需要这个权限,因为那时我将从node_modules运行一些外部库。
那么,如何从node.js脚本中禁用我的管理权限?
答案 0 :(得分:1)
您需要使用:
process.setgid('somegroup');
process.setuid('someuser');
参见文档:
有关详细信息,请参阅此文章:
绑定到低端口而不以root身份运行的另一种方法是提供绑定到低端口的功能(如果系统支持它) - 使用例如Linux上的CAP_NET_BIND_SERVICE类似于:
sudo setcap 'cap_net_bind_service=+ep' /path/to/your/program
这样您就不必以root用户身份运行它,也不必在以后更改为其他用户。