为了账号安全,请及时绑定邮箱和手机立即绑定

是否有一种非根进程绑定到linux上的“特权”端口的方法?

是否有一种非根进程绑定到linux上的“特权”端口的方法?

开满天机 2019-06-19 15:21:42
是否有一种非根进程绑定到linux上的“特权”端口的方法?在我的开发框中有这样的限制是非常烦人的,因为除了我之外,再也没有其他用户了。我知道标准的解决办法但他们都没有做我想做的事自绑定(Debian测试版本,1.0,只支持IPv 4)使用iptables重定向目标将低端口重定向到高端口(iptable的IPv 6版本ip6table尚未实现“nat”表)Sudo(运行为root是我想要避免的)SELinux(或类似的)。(这只是我的开发框,我不想引入太多额外的复杂性。)有没有简单的sysctl变量,允许非根进程绑定到Linux上的“特权”端口(端口小于1024),还是我运气不好?编辑:在某些情况下,您可以使用能力做这件事。
查看完整描述

3 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

标准的方法是使它们成为“setuid”,以便它们作为root启动,然后在绑定到端口之后,但在开始接受与端口的连接之前,它们就会丢弃该根权限。您可以在Apache和INN的源代码中看到这方面的好例子。我听说莱特普是另一个很好的例子。

另一个例子是后缀,它使用多个通过管道进行通信的守护进程,其中只有一两个守护进程(除了接受字节或发出字节之外,这些守护进程很少)作为根用户运行,其余的进程以较低的权限运行。


查看完整回答
反对 回复 2019-06-19
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

您可以进行端口重定向。对于运行在linux机器上的Silverlight策略服务器,我就是这样做的。

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 943 -j REDIRECT --to-port 1300


查看完整回答
反对 回复 2019-06-19
  • 3 回答
  • 0 关注
  • 692 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信