当我之外再也没有其他用户时,在我的开发箱上有这个限制是非常令人讨厌的。
我知道标准的解决方法,但是它们都不能完全满足我的要求:
是否有一些简单的sysctl变量允许非根进程绑定到Linux上的“特权”端口(端口小于1024),还是我不走运?
sysctl
好的,感谢指出能力系统和CAP_NET_BIND_SERVICE能力的人们。如果您使用的是最新内核,则确实可以使用它以非root用户身份启动服务,但绑定低端口。简短的答案是您这样做:
CAP_NET_BIND_SERVICE
setcap 'cap_net_bind_service=+ep' /path/to/program
然后任何时间program执行,此后它将具有此CAP_NET_BIND_SERVICE功能。setcap在debian软件包中libcap2-bin。
program
setcap
libcap2-bin
现在需要注意的是:
suid
.../lib/
资源:
注意:RHEL首先在v6中添加了它。