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

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 用户身份运行,提高系统安全性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/90711.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/90711.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文解析篇 | YOLOv12:以注意力机制为核心的实时目标检测算法

前言:Hello大家好,我是小哥谈。长期以来,改进YOLO框架的网络架构一直至关重要,但尽管注意力机制在建模能力方面已被证明具有优越性,相关改进仍主要集中在基于卷积神经网络(CNN)的方法上。这是因…

学习C++、QT---20(C++的常用的4种信号与槽、自定义信号与槽的讲解)

每日一言相信自己,你比想象中更接近成功,继续勇往直前吧!那么我们开始用这4种方法进行信号与槽的通信第一种信号与槽的绑定方式我们将按键右键后转到槽会自动跳转到这个widget.h文件里面并自动生成了定义,我们要记住我们这个按钮叫…

Anolis OS 23 架构支持家族新成员:Anolis OS 23.3 版本及 RISC-V 预览版发布

自 Anolis OS 23 版本发布之始,龙蜥社区就一直致力于探索同源异构的发行版能力,从 Anolis OS 23.1 版本支持龙芯架构同源异构开始,社区就在持续不断地寻找更多的异构可能性。 RISC-V 作为开放、模块化、可扩展的指令集架构,正成为…

4万亿英伟达,凭什么?

CUDA正是英伟达所有神话的起点。它不是一个产品,而是一个生态系统。当越多的开发者使用CUDA,就会催生越多的基于CUDA的应用程序和框架;这些杀手级应用又会吸引更多的用户和开发者投身于CUDA生态。这个正向飞轮一旦转动起来,其产生…

Unity3D iOS闪退问题解决方案

前言 在Unity3D开发中解决iOS闪退问题需要系统性排查,以下是关键步骤和解决方案: 对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀! 1. 获取崩溃日志(关键第一步&#xff…

嵌入式八股文之 GPIO

1. GPIO 的基本概念(1) 什么是 GPIO?GPIO 的中文意思是通用输入输出端口(General Purpose Input/Output),是嵌入式系统中可编程控制的通用引脚,可通过软件配置为输入或输出模式。(背诵)(2) 它的…

Umi-OCR 的 Docker安装(win制作镜像,Linux(Ubuntu Server 22.04)离线部署)

前置博客:Ubuntu-Server 22.04.4 详细安装图文教程 wget命令在windows终端下不能使用的原因及解决办法 在 Ubuntu 22.04 LTS 上离线安装 Docker 手把手教你在Win11下安装docker Umi-OCR 安装docker时报错:workstation服务启动报错。错误1075&#…

力扣242.有效的字母异位词

给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的 字母异位词。示例 1:输入: s "anagram", t "nagaram" 输出: true示例 2:输入: s "rat", t "car" 输出: false提示:1 < s.length, t.length < 5 * 104s…

基于Springboot+UniApp+Ai实现模拟面试小工具二:后端项目搭建

本节介绍本项目后端项目的开发工具及基础项目的搭建&#xff0c;包括开发工具介绍及后端项目的创建和依赖框架的引入及对应配置。 源码下载&#xff1a; 点击下载 讲解视频&#xff1a; UniappSpringbootKimi实现模拟面试小程序-Springboot项目创建一&#xff0e;开发工具 1.…

Linux711 Mysql

模版 root192.168.235.130s password:┌──────────────────────────────────────────────────────────────────────┐│ • MobaXterm Personal Edition v23.2 • ││…

QT 秘钥生成工具

该项目是注册机和验证机项目&#xff0c;分别是密钥生成工具&#xff0c;和密钥验证demo,可以识别电脑唯一标识码。#include "frmmain.h" #include "ui_frmmain.h" #include "qmessagebox.h" #include "qfile.h" #pragma execution_ch…

PyTorch神经网络训练全流程详解:从线性层到参数优化

目录 一、神经网络训练的核心组件 二、代码逐行解析与知识点 三、核心组件详解 3.1 线性层(nn.Linear) 3.2 损失函数(nn.MSELoss) 3.3 优化器(optim.SGD) 四、训练流程详解 五、实际应用建议 六、完整训练循环示例 七、总结 在深度学习实践中&#xff0c;理解神经网络…

从代码学习深度学习 - 针对序列级和词元级应用微调BERT PyTorch版

文章目录 前言针对序列级和词元级应用微调BERT单文本分类文本对分类或回归文本标注问答总结前言 在自然语言处理(NLP)的广阔天地里,预训练模型(Pre-trained Models)的出现无疑是一场革命。它们如同站在巨人肩膀上的探索者,使得我们能够利用在大规模文本语料上学到的丰富…

学习笔记丨卷积神经网络(CNN):原理剖析与多领域Github应用

本文深入剖析了卷积神经网络&#xff08;CNN&#xff09;的核心原理&#xff0c;并探讨其在计算机视觉、图像处理及信号处理等领域的广泛应用。下面就是本篇博客的全部内容&#xff01;&#xff08;内附相关GitHub数据库链接&#xff09; 目录 一、什么是CNN&#xff1f; 二、…

cnpm exec v.s. npx

1. 核心定位与设计目标 npx (Node Package Executor): 定位: Node.js 内置工具&#xff08;npm 5.2 起捆绑&#xff09;&#xff0c;核心目标是便捷地执行本地或远程 npm 包中的命令&#xff0c;无需全局安装。核心价值: 避免全局污染&#xff1a; 临时使用某个 CLI 工具&#…

我花10个小时,写出了小白也能看懂的数仓搭建方案

目录 一、什么是数据仓库 1.面向主题 2.集成 3.相对稳定 4.反映历史变化 二、数仓搭建的优势 1.性能 2.成本 3.效率 4.质量 三、数仓搭建要考虑的角度 1.需求 2.技术路径 3.数据路径 4.BI应用路径 四、如何进行数仓搭建 1.ODS层 2.DW层 3.DM层 五、写在最后…

OBB旋转框检测配置与训练全流程(基于 DOTA8 数据集)

&#x1f680; YOLO交通标志识别实战&#xff08;五&#xff09;&#xff1a;OBB旋转框检测配置与训练全流程&#xff08;基于 DOTA8 数据集&#xff09; 在专栏前面四篇里&#xff0c;我们完成了&#xff1a; ✅ Kaggle交通标志数据集下载并重组标准YOLO格式 ✅ 训练/验证集拆…

uniapp制作一个视频播放页面

1.产品展示2.页面功能(1)点击上方按钮实现页面跳转&#xff1b;(2)点击相关视频实现视频播放。3.uniapp代码<template><view class"container"><!-- 顶部分类文字 --><view class"categories"><navigator class"category-…

8.卷积神经网络基础

8.1 卷积核计算 import torch from torch import nn import matplotlib.pyplot as plt def corr2d(X,k):#计算二维互相关运算h,wk.shape#卷积核的长和宽Ytorch.zeros((X.shape[0]-h1,X.shape[1]-w1))#创建(X-H1,X-W1)的全零矩阵for i in range(Y.shape[0]):for j in range(Y.s…

【每天一个知识点】子空间聚类(Subspace Clustering)

“子空间聚类&#xff08;Subspace Clustering&#xff09;”是一种面向高维数据分析的聚类方法&#xff0c;它通过在数据的低维子空间中寻找簇结构&#xff0c;解决传统聚类在高维空间中“维度诅咒”带来的问题。子空间聚类简介在高维数据分析任务中&#xff0c;如基因表达、图…