• nginx修改成非root用户启动


    linux新建用户参考: https://blog.csdn.net/weixin_44953227/article/details/125757350

    文件权限说明

    从左至右,1-3位字母代表文件所有者(User)的权限,4-6位字母代表同组用户(Group)的权限,7-9字母代表其他用户(Other)的权限。

    通过4、2、1的组合,得到以下几种权限:0(没有权限);4(读权限);5(4+1 :读+执行);6(4+2 :读+写);7(4+2+1 :读+写+执行)

    755 【rwxr-xr-x】 权限表示

    • User : 7等于4+2+1,即rwx,所有者具有读、写、执行权限;
    • Group : 5等于4+1,即r-x,同组用户具有读、执行权限但没有写权限;
    • Other : 5同上,也是r-x,其他用户具有读、执行权限但没有写权限
    参考说明:
     
    读取权限 r = 4
    写入权限 w = 2
    执行权限 x = 1
     
     
    比如:775 这三个数字代表拥有者,组用户,其他用户的权限。
    例如:
    7 拥有者有 读取,写入,执行权限
    7 组用户有 读取,写入,执行权限
    5 其他用户有 读取,执行权限(4 + 1 = 5)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    读权限 r (代表数字为4),写权限 w(代表数字为2),执行权限 x (代表数字为1),每三个一组,每组加起来的数字组合就是权限数字

    修改文件权限: chmod 权限数字xxx 文件名称

    • 修改某个文件的权限【-rwxr-xr-x】:chmod 755 info.log

    • 修改当前文件下所有文件的权限为【-rwxr-xr-x】:chmod 755 *

    修改目录授权: chown -R -v 用户名:用户组名 "目录路径"

    • 递归修改【/home/java】目录下的所有文件夹和文件的权限给【app 用户和用户组
    • 具体命令:chown -R -v app:appgroup "/home/java"

    1、所有步骤

    1、创建nginx 专属用户与用户组
    2、授权nginx 专属用户 740权限
    3、修改配置文件nginx.conf
    4、以root用户登陆服务器;
    5、进入到nginx的二进制启动文件存放的目录
    6、输入命令 setcap cap_net_bind_service=+eip nginx
    7、执行关闭nginx命令 ./nginx -s stop
    8、切换到nginx专用用户
    9、使用nginx专用用户 启动nginx ./nginx
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    2、例子

    nginx安装目录: /home/java/nginx/

    nginx专属用户: appworker

    修改配置文件 nginx.conf

    在这里插入图片描述

    注释掉带有 user 的行

    #root 用户登陆
    chown -R -v appworker:appworkergroup  "/home/java/nginx/"
    
    #进入到nginx的二进制启动文件存放的目录
    cd /home/java/nginx/sbin/
    
    setcap cap_net_bind_service=+eip nginx
    
    ./nginx -s stop
    
    #切换到nginx专用用户
    su appworker
    
    cd /home/java/nginx/sbin/
    
    ./nginx
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
  • 相关阅读:
    c#数组排列系列1
    validator库的使用详解
    (2023|ICML,LLM,标记掩蔽,并行解码)Muse:使用掩蔽生成 Transformer 的文本到图像生成
    计算机的硬件组成
    GPU计算光流:gpu_flow
    Kubernetes技术与架构-存储 2
    TP5.1 导出excel文件
    11 - Spring AOP介绍与使用2 - 简单配置
    【跨级组件的通信&组件的生命周期&React的常用特性】
    RedisStack部署/持久化/安全/与C#项目集成
  • 原文地址:https://blog.csdn.net/weixin_44953227/article/details/126470505