#干货满满# 普通用户使用1024以下端口启动nginx
  

牵网线的 27233人觉得有帮助

{{ttag.title}}
本帖最后由 牵网线的 于 2022-11-3 10:00 编辑

问题现象:
客户现场使用利旧主机安装系统,原来使用的1024以下的端口,现在需要使用普通用户启动,使用

问题原因:
linux对于非root权限用户不能使用1024以下的端口,对于一些服务,过高的权限,会带来一定的风险。那么对于低权限的用户如何对外开放1024以下的端口。

方法一: 依次执行如下命令
  1. cd /usr/local/nginx/sbin/
  2. chown root nginx
  3. chmod u+s nginx
复制代码
优点:方便简单
缺点:既然sudo权限都不给了。这个set uid 最后也是让nginx运行在root权限下。 ps -ef |grep nginx 查看的时候,nginx的主进程是运行在root下的。 虽然是可以让普通用户运行nginx服务,但是不是所有nginx进程都在用户本身下运行

方法二:iptables端口转发
使用非80端口启动程序,然后再用iptables做一个端口转发。
  1. iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
  2. #用root用户直接去执行就可以了!
  3. (
  4. sysctl -w net.ipv4.ip_forward=1
  5. iptables -F -t nat #清空nat表
  6. iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to:8088
  7. )
复制代码
优点:可以用第三方用户直接启动,nginx的主进程就是用户本身来启动的。
缺点:额外增加开销,负载低的情况可以,负载高了 就不太好了

方案三:赋予nginx监听80端口的能力
nginx内核 超过2.1版本以后 出现了能力的说法
我们可以给/usr/local/nginx/sbin/nginx 赋予监听80端口的权限能力
  1. setcap cap_net_bind_service =+ep /usr/local/nginx/sbin/nginx
复制代码
这样就可以直接用普通用户启用nginx了。并且可以在高负载的情况下,减少由于端口转发部分的负载开销。

打赏鼓励作者,期待更多好文!

打赏
38人已打赏

点线网 发表于 2022-11-3 18:52
  
楼主分享的案例很实用,具有典型性,希望有更多这样的干货供我们学习参考,非常感谢!
沧海 发表于 2022-11-4 14:39
  
感谢楼主分享,学习一下
暴躁的钢索 发表于 2022-11-9 09:19
  
每天进步一点点,每天进步一点点。
新手741261 发表于 2022-11-9 16:18
  

感谢楼主分享,学习一下
暴躁的钢索 发表于 2022-11-10 10:40
  
每天学习一点点,每天进步一点点。
新手780102 发表于 2022-11-11 09:55
  
学习一下,感谢楼主分享
新手899116 发表于 2022-11-11 11:07
  
资料非常详细,感谢分享
JM 发表于 2022-11-11 11:25
  
资料非常详细,感谢分享
我是路人甲55 发表于 2022-11-12 10:27
  
感谢楼主分享,每日学习打卡
发表新帖
热门标签
全部标签>
每日一问
2024年技术争霸赛
安装部署配置
技术笔记
产品连连看
每周精选
技术盲盒
2023技术争霸赛专题
干货满满
技术咨询
信服课堂视频
功能体验
自助服务平台操作指引
秒懂零信任
运维工具
文档捉虫活动
功能咨询
GIF动图学习
通用技术
新版本体验
问题分析处理
SDP百科
标准化排查
纪元平台
排障笔记本
畅聊IT
答题自测
专家问答
技术圆桌
测试报告
每日一记
用户认证
解决方案
VPN 对接
项目案例
地址转换
存储
技术争霸赛
卧龙计划
技术晨报
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
日志审计
流量管理
云计算知识
原创分享
sangfor周刊
SANGFOR资讯
专家分享
技术顾问
信服故事
终端接入
授权
设备维护
资源访问
虚拟机
迁移
加速技术
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
华北区拉练
天逸直播
以战代练
山东区技术晨报
齐鲁TV
华北区交付直播
北京区每日一练

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人