我已經下載了Moovweb SDK並將其安裝在我的電腦上。爲什麼我需要「sudo」來運行Moovweb服務器?
我跑了moov login
並輸入我的憑據。
我生成使用moov generate example example.com
爲什麼我需要鍵入sudo moov server --auto-hosts
一個項目?
它在做什麼,它需要超級用戶訪問?
我已經下載了Moovweb SDK並將其安裝在我的電腦上。爲什麼我需要「sudo」來運行Moovweb服務器?
我跑了moov login
並輸入我的憑據。
我生成使用moov generate example example.com
爲什麼我需要鍵入sudo moov server --auto-hosts
一個項目?
它在做什麼,它需要超級用戶訪問?
你需要一個root權限運行使用80端口的服務,或低於1024
這是Linux內核安全特性任何端口。
更詳細的信息:
"Why can only root listen to ports below 1024?" at Mikael Ståldal’s blog
解決方案1:
如果你不想輸入root密碼,每次或通過腳本自動執行的任務類型 - 學會使用sudoers
。
HowTO: Sudoers Configuration at ubuntuforums.org
解決方案2:
端口限制是在內核源代碼中定義,在include/net/sock.h
文件。
/* Sockets 0-1023 can't be bound to unless you are superuser */
#define PROT_SOCK 1024
要改變這種桌面(不推薦服務器)上 - 你可以編譯新的內核,與PORT_SOCK
設置爲79
解鎖80端口,用於非root用戶,或將其設置爲0
解鎖所有端口。
它啓動服務器端口80
或443
需要root權限才能這樣做。