⑴方法三:Port Forwarding
⑵如果要运行的程序有权限监听其他端口,那么这个方法是可以使用的,首先让程序运行在非root帐户下,并绑定高于的端口,在确保能正常工作的时候,将低端口通过端口转发,将低端口转到高端口,从而实现非root运行的程序绑定低端口。要使用此方法可以使用下面的方式:
⑶.# Enable the IP FORWARD kernel parameter.
⑷.sysctl -w .ipv.ip_forward=
⑸.# Use iptables rules to redirect packets
⑹.iptables -F -t nat
⑺.iptables -t nat -A PREROUTING -p tcp --dport -j DNAT --to:
⑻第一步使用sysctl确保启用IP FORWARD功能(此功能在Red Hat/CentOS默认是被禁用的,注意,代码中使用的sysctl设置是临时性设置,重启之后将会被重置,如果要长久保存,需要在/etc/sysctl.conf文件内修改:
⑼.# Default value is , need change to .
⑽.# .ipv.ip_forward =
⑾..ipv.ip_forward =
⑿然后从文件中加载新的配置
⒀.# load new sysctl.conf
⒁.sysctl -p /etc/sysctl.conf
⒂.# or sysctl -p
⒃.# default filename is /etc/sysctl.conf
⒄第二步就是使用iptables的规则来实现端口转发到程序所在的端口,示例中我们要将端口转发到。
⒅此种方法能够比较好的达到我们的目的,我们的程序可以通过非root用户来运行,并能够对外提供低端口号的服务。
⒆方法四:RID
⒇这种方法使用的也是端口转发,此工具可以将本地端口映射到远程端口,但此功能对于我们当前的功能来说,有点鸡肋,毕竟我们新增了一个额外的程序,这将可能会增加我们系统的风险性。在此不做推荐。
⒈以上就是Linux中如何让普通用户使用小于端口的方法了,前面三种方法都可以不用root而且没有什么风险,大家可以放心使用。