转载于:非常感谢原作者

https://www.cnblogs.com/qianzf/p/7606191.html

 

linux普通用户使用1024以下的端口(80)

linux对于非root权限用户不能使用1024以下的端口,对于一些服务,过高的权限,会带来一定的风险。那么对于低权限的用户如何对外开放1024以下的端口。我这里找到几种办法并且亲测可行

首先搭建环境centos7 账户tengine没有sudo 权限

1.nginx 等软件做反向代理

反向代理不说了。网上以查到

2.iptables端口转发

首先程序绑定1024以上的端口,然后root权限下做转发注意有些系统需要手动开启IP FORWARD功能

linux普通用户使用1024以下的端口(80)

3. setuid

root账户下执行

linux普通用户使用1024以下的端口(80)

4.CAP_NET_BIND_SERVICE

从 2.1 版本开始,Linux 内核有了能力的概念,这使得普通用户也能够做只有超级用户才能完成的工作,这包括使用端口。

获取CAP_NET_BIND_SERVICE能力,即使服务程序运行在非root帐户下,也能够banding到低端口。使用的方法: 

root账户下执行

setcap cap_net_bind_service=+eip /home/tengine/nginx/tengine/sbin/nginx

切换到tengine账户下 

信息如下

linux普通用户使用1024以下的端口(80)

 

linux普通用户使用1024以下的端口(80)

linux普通用户使用1024以下的端口(80)

最后别忘记怎么清除这个能力

 setcap -r nginx

相关文章:

  • 2021-12-24
  • 2021-05-30
  • 2022-12-23
  • 2022-02-25
  • 2022-12-23
  • 2021-07-26
  • 2021-12-18
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-04
  • 2022-02-09
  • 2021-07-24
  • 2021-09-12
  • 2022-12-23
相关资源
相似解决方案