我目前正在开发一个项目,以在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