如何更改套接字的权限?

Rom*_*man 6 python sockets ubuntu webserver firewall

我试图运行给出一个简单的基于Python的Web服务器在这里.

我收到以下错误消息:

Traceback (most recent call last):
  File "webserver.py", line 63, in <module>
    main()
  File "webserver.py", line 55, in main
    server = HTTPServer(('', 80), MyHandler)
  File "/usr/lib/python2.5/SocketServer.py", line 330, in __init__
    self.server_bind()
  File "/usr/lib/python2.5/BaseHTTPServer.py", line 101, in server_bind
    SocketServer.TCPServer.server_bind(self)
  File "/usr/lib/python2.5/SocketServer.py", line 341, in server_bind
    self.socket.bind(self.server_address)
  File "<string>", line 1, in bind
socket.error: (13, 'Permission denied')
Run Code Online (Sandbox Code Playgroud)

据我所知,我的防火墙会阻止访问套接字?我对吗?如果是这种情况,我该如何更改权限?更改这些权限是否危险?

Jim*_*wis 11

如果要绑定到端口号<1024,则需要为root.这不是防火墙问题; 它由操作系统强制执行.以下是w3.org的参考资料,以及针对Unix 的FAQ条目.