一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Nginx 默认目录结构中哪些目录需要配置高权限

时间:2026-09-03 17:11:47 编辑:袖梨 来源:一聚教程网

Nginx关键目录权限需遵循最小权限原则:/etc/nginx/ 配置目录文件644、目录755;/var/run/nginx.pid目录需nginx用户写入,权限755;/var/log/nginx/日志目录750、文件640;静态资源目录755/644,严禁nginx写入。

Nginx 默认目录结构中,并非所有目录都需要高权限,相反,安全原则是“最小权限”:只给必要目录赋予最低限度的读、写或执行权限,避免因权限过高引发风险(如配置被篡改、日志被覆盖、静态资源被恶意写入等)。

真正需要谨慎配置权限的,是以下几类关键目录,它们涉及运行控制、日志记录和配置管理:

/etc/nginx/ 及其子目录(配置目录)

  1. 这是 Nginx 主配置与站点配置的存放地,包括 nginx.confconf.d/sites-available/
  2. 权限要求
    1. 配置文件(如 .conf)应设为 644(属主可读写,组和其他用户仅可读)
    2. 目录本身设为 755(属主可读写执行,组和其他用户可读执行)
    3. 严禁设为 777 或让 nginx 用户拥有写权限(防止运行时被注入恶意配置)
  3. 若使用 conf.d/*.conf 模式,确保新增配置文件也遵循相同权限规范

/var/run/nginx.pid 或 /var/run/nginx/(PID 文件目录)

  1. pid 文件由主进程创建并持续更新,用于进程通信与管理(如 nginx -s reload
  2. 权限要求
    1. pid 文件本身建议 644(属主读写,组和其他用户只读)
    2. 所在目录(如 /var/run/nginx/)需确保 nginx 主进程用户(如 nginxwww-data)有写入权限
    3. 常见做法:chown nginx:nginx /var/run/nginx && chmod 755 /var/run/nginx

/var/log/nginx/(日志目录)

  1. 存放 access.logerror.log 等,Nginx 工作进程会持续追加写入
  2. 权限要求
    1. 目录权限设为 750755,但更推荐 750(限制非属组用户访问)
    2. 日志文件权限设为 640(属主读写,属组读,其他用户无权限)
    3. 属主和属组应与 Nginx 运行用户一致(如 nginx:nginx),防止日志被未授权读取或清空

/usr/share/nginx/html/ 或自定义 root 目录(静态资源根目录)

  1. 通常用于存放前端 HTML、JS、CSS 等,Nginx 只需读取权限
  2. 权限要求
    1. 目录设为 755,文件设为 644
    2. 严禁nginx 用户写权限(除非业务明确需要上传功能,且已做严格校验与隔离)
    3. 若存在上传接口,应将上传目录(如 /upload/)单独挂载、限制 MIME 类型、禁用脚本执行(配合 location ~ .php$ { deny all; }

其他注意项

  1. /usr/lib/nginx/modules/(动态模块目录):模块 .so 文件需 644,目录 755,确保 nginx 用户可读但不可写
  2. /tmp/ 或临时缓存路径(如 proxy_cache_path):若启用缓存,该路径需 nginx 用户可读写,建议独立挂载并设为 700750,避免与其他服务混用

权限配置不是一劳永逸。每次修改后,建议用 nginx -t 验证配置,再用 ls -l 检查关键路径的实际权限是否符合预期。不复杂但容易忽略。

热门栏目