为了安全应该使用非root用户启动nginx

发布于:2025-07-11 ⋅ 阅读:(13) ⋅ 点赞:(0)

nginx基线安全,修复步骤。主要是由于使用了root用户启动nginx。为了安全应该使用非root用户启动nginx

一、检查项和问题

检查项分类 检查项名称
身份鉴别 检查是否配置Nginx账号锁定策略。
服务配置 检查Nginx进程启动账号。
服务配置 Nginx后端服务指定的Header隐藏状态
服务配置 Nginx的WEB访问日志记录状态
服务配置 Nginx的WEB访问日志记录状态
服务配置 Nginx的WEB访问日志记录状态
服务配置 Nginx的WEB访问日志记录状态
服务配置 Nginx的WEB访问日志记录状态
服务配置 检查Nginx进程启动账号。
身份鉴别 检查是否配置Nginx账号锁定策略。
身份鉴别 检查是否配置Nginx账号锁定策略。
服务配置 检查Nginx进程启动账号。
身份鉴别 检查是否配置Nginx账号锁定策略。
服务配置 检查Nginx进程启动账号。
身份鉴别 检查是否配置Nginx账号锁定策略。
服务配置 检查Nginx进程启动账号。
身份鉴别 检查是否配置Nginx账号锁定策略。
服务配置 检查Nginx进程启动账号。
身份鉴别 检查是否配置Nginx账号锁定策略。
身份鉴别 检查是否配置Nginx账号锁定策略。
服务配置 检查Nginx进程启动账号。
身份鉴别 检查是否配置Nginx账号锁定策略。
服务配置 检查Nginx进程启动账号。
服务配置 Nginx后端服务指定的Header隐藏状态

二、修复步骤

1. 创建专用用户和组

sudo groupadd nginx
sudo useradd -g nginx -s /sbin/nologin -M nginx

 2、

2. 修改 Nginx 配置文件

编辑主配置文件 /etc/nginx/nginx.conf,在顶部添加或修改:

user nginx nginx;

3. 调整文件和目录权限

# 修改 Nginx 主目录权限
sudo chown -R nginx:nginx /var/log/nginx
sudo chown -R nginx:nginx /var/cache/nginx
sudo chown -R nginx:nginx /etc/nginx

# 确保日志目录可写
sudo chmod -R 755 /var/log/nginx

4. 修改端口问题

非 root 用户无法绑定 1024 以下端口,有两种解决方案:

server {
    listen 8080;
    # 其他配置...
}

5. 测试配置并启动

# 测试配置
sudo nginx -t

# 以非root用户启动
sudo -u nginx nginx

6. 设置开机启动(可选)

编辑 systemd 服务文件 /lib/systemd/system/nginx.service,修改 User 和 Group

[Service]
User=nginx
Group=nginx

注意事项

  1. 确保非 root 用户对网站文件有读取权限

  2. 如果使用 SSL 证书,确保证书文件可读

  3. 某些功能(如平滑升级)可能需要 root 权限

  4. 监控日志确保没有权限问题

通过以上步骤,Nginx 将以非 root 用户身份运行,提高系统安全性。


网站公告

今日签到

点亮在社区的每一天
去签到