2012-11-06 61 views
4

以root身份運行的Node.JS程序是否可以在運行時降級其權限?這將是它首先要做的事情之一,目的當然是爲了限制可能造成的損害,萬一在此過程中存在漏洞或不可信的代碼。Node.JS在運行時切換用戶

另外,是否有一種方法爲以超級用戶身份運行的Node.JS進程啓動單獨的非root用戶進程? (最好不添加中間層,如sudo)

回答

0

@ mabako的回答看起來不錯,但應該有更容易的操作系統技巧。

我見過的人做很多事節點是要麼

  1. 添加運行節點代碼爲www-data組允許它綁定到特權端口的用戶。

    例如:http://kvz.io/blog/2009/12/15/run-nodejs-as-a-service-on-ubuntu-karmic/

  2. 用iptables特權端口重定向到一個沒有特權的節點程序,監聽高端口上。

    iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000

你有任何非端口綁定理由運行節點作爲根服務器?

編輯:更多的技巧在這裏:Is there a way for non-root processes to bind to "privileged" ports on Linux?

+1

如何明確你允許非root用戶組,正如上述#1建議綁定特權端口? –