Loading... # 引言 由于安全部门要求,不允许root启动nginx,勒令整改,这里做一下笔记 # 执行过程 1. 申请root权限 2. 找到nginx安装目录 3. 创建非root用户,如nginx ```bash useradd ``` 4. 置nginx目录所有者 ```bash chown nginx.nginx nginx -R ``` ![image.png](https://www.zunmx.top/usr/uploads/2024/06/2596740972.png) 5. 修改nginx文件权限 ```bash setcap cap_net_bind_service=+eip ./nginx ``` ![image.png](https://www.zunmx.top/usr/uploads/2024/06/417648777.png) 6. 启动服务 # 结果 nginx启动用户为nginx ![image.png](https://www.zunmx.top/usr/uploads/2024/06/1208123804.png) 监听端口为`80` ![image.png](https://www.zunmx.top/usr/uploads/2024/06/862819878.png) # 备注 ## 清除所有特权 ```bash setcap -r ./nginx ``` ![image.png](https://www.zunmx.top/usr/uploads/2024/06/2901592376.png) 不支持80端口启动 ![image.png](https://www.zunmx.top/usr/uploads/2024/06/1927046403.png) ## CAP\_NET\_BIND\_SERVICE是什么 `CAP_NET_BIND_SERVICE` 是 Linux 能力(capability)系统中的一个特定能力。它允许进程绑定到特权端口,特权端口是指端口号在 0 到 1023 之间的端口。在默认情况下,只有 root 用户或具有此能力的进程才能绑定这些特权端口。 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏