主题: linux非root运行程序listen低端口办法

1. iptables端口重定向,例如:
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 1080

2. setuid,例如:
sudo chown root:root myprog
sudo chmod 4755 myprog
之后权限会变成这样-rwsr-xr-x,有了这个s程序就会以文件属主身份运行,sudo就是这么实现的

3. 给文件添加 CAP_NET_BIND_SERVICE capability,例如:
sudo setcap cap_net_bind_service=+eip myprog