setcap CAP_NET_BIND_SERVICE非root用户运行程序监听低于 1024 的端口

今天我学到了一些新的东西,我想和你分享。我知道监听低于 1024 的端口需要特殊权限,要做到这一点,你必须是sudoers。但是使用 sudo 运行应用程序并不是一种完美的方式,因为这样应用程序几乎可以对您的操作系统执行任何操作,从而导致意外结果(您肯定不希望应用程序通过rm -rf删除所有文件)。

想象一下,你编写了一个 Golang http 服务器,并希望它监听 80 端口。要授予此权限,你可以在 unix/linux 系统上使用setcap命令

sudo setcap cap_net_bind_service=+ep /your/executable/file/path

这样你就只给了你的可执行文件一个特权,仅此而已,确保不会发生危险的事情。

cap_net_bind_service

是您可以使用的众多功能之一。要查看其他功能类型:

man capabilities

而已 :)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值