在Linux上,以一般用户身份执行一个需要占用小于1024端口的程序,会得到错误提示:
Permission denied
这是因为在Linux平台,小于1024的端口被认为是特殊端口。
The TCP/IP port numbers below 1024 are special in that normal users are not allowed to run servers on them. This is a security feaure, in that if you connect to a service on one of these ports you can be fairly sure that you have the real thing, and not a fake which some hacker has put up for you.
如果没绝对必要,可以指定一个大于1024的端口执行程序,不然最简单的办法就是提权执行“sudo”。此外也有其他一些方案,比如利用防火墙重定向等。
参考:
PrivilegedPorts
Running_network_services_as_a_non-root_user