问题根本原因:
特权端口:是指在 Linux 系统下,只允许 root 用户运行的程序才可以使用特权端口 ( 1024 以下的端口 )。如果在普通用户下使用特权端口将会报错。
解决:
使用setcap给服务程序赋予能力,该种方式是给程序赋予绑定特权端口的能力。操作如下:
使用 setcap 'CAP_NET_BIND_SERVICE=+ep' /path/to/program 赋予(raise)绑定特权端口的能力
使用 setcap 'CAP_NET_BIND_SERVICE=-ep' /path/to/program 清除(lower)绑定特权端口的能力
也可使用setcap -r /path/to/program清除(remove)该程序的所有能力