我目前正在開發一個項目,以在mac os mountain lion上創建TCP服務器。我寫了一個叫腳本:Server.pytwisted.internet.error.CannotListenError:無法偵聽任何:80:[Errno 13]權限被拒絕
在這個python腳本,我用雙絞線端口時80聽,如下圖所示:
reactor.listenTCP(80, factory)
reactor.run()
我如何過得到錯誤這樣:
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/posixbase.py", line 436, in listenTCP
p.startListening()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/tcp.py", line 641, in startListening
raise CannotListenError, (self.interface, self.port, le)
twisted.internet.error.CannotListenError: Couldn't listen on any:80: [Errno 13] Permission denied.
我在想這是因爲tcp.py腳本對管理員用戶的權限有誤嗎?或者有沒有辦法在端口< 1024上設置權限? (要更改權限,它將如何影響此類服務器的安全性?)
任何更好的解決方案都可以應用。
對我有幫助。但是你能解釋一下爲什麼我們需要開始「sudo」嗎? – iPatel
在OS中,默認情況下,只有管理員才允許執行某些操作。在命令之前放置「sudo」,然後提供用戶憑據基本上意味着您正在授權此類操作。啓動服務器意味着允許訪問互聯網,這可能會帶來安全威脅,因此,只有該機器的管理員才能執行此操作。 – shorttermmem
謝謝你提高我的知識。 – iPatel