首页 > 系统相关 >Linux 普通用户启动nginx

Linux 普通用户启动nginx

时间:2023-03-25 11:56:58浏览次数:43  
标签:文件 普通用户 local nginx Linux 权限 root

现象

nginx 配置的user为 www 用户,root启动之后主进程显示root,子进程显示是www,但是切换到www 用户之后执行 nginx -t 等报错

services@pts/0 $ /usr/local/nginx/sbin/nginx -t
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /usr/local/product/nginx-1.13.10/conf/nginx.conf:2
nginx: the configuration file /usr/local/product/nginx-1.13.10/conf/nginx.conf syntax is ok
...

分析

nginx需要超级用户启动,为啥呢? 因为普通用户只能用1024以上的端口,1024以内的端口只能由root用户使用,nginx这里使用的是80端口,所以切换普通用户启动失败

方案

想到的第一反应就是让要保留80端口,只能是root启动,又想用普通用户启动怎么办呢? 推荐命令 chmod

chmod

权限范围:

  • u User,即文件或目录的拥有者;
  • g Group,即文件或目录的所属群组;
  • o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
  • a All,即全部的用户,包含拥有者,所属群组以及其他用户;

权限设置:

  • r 读取权限,数字代号为“4”;
  • w 写入权限,数字代号为“2”;
  • x 执行或切换权限,数字代号为“1”;
  • - 不具任何权限,数字代号为“0”;
  • s 特殊功能说明:变更文件或目录的权限。
    在文件执行时把进程的属主或组ID置为该文件的文件属主。
    方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。

常规用法:

<权限范围>+<权限设置>:开启权限范围的文件或目录的该选项权限设置;
<权限范围>-<权限设置>:关闭权限范围的文件或目录的该选项权限设置;
<权限范围>=<权限设置>:指定权限范围的文件或目录的该选项权限设置;

其中权限设置我们可以采用“数字法”,具体可以自己可以查查用法

回归题干

既然要使用'root'启动,看到只能添加特殊权限了,使用这里的 +s

chown root /usr/local/nginx/sbin/nginx
chmod u+s /usr/local/nginx/sbin/nginx

然后切换到普通用户去 执行 nginx 命令,正常生效。

标签:文件,普通用户,local,nginx,Linux,权限,root
From: https://www.cnblogs.com/exmyth/p/17254444.html

相关文章

  • 常见windows和linux的敏感目录
    Windows下:c:/boot.ini//查看系统版本c:/windows/php.ini//php配置信息c:/windows/my.ini//MYSQL配置文件,记录管理员登陆过的MYSQL用户名和密码c:/winnt/php.inic:......
  • 架构师学习--常见系统的性能最大量级,nginx,kafka,4个9等
    1、nginx负载均衡性能是3万左右,2、一般的Linux服务器上装一个Nginx大概能到5万/秒;3、LVS的性能是十万级,据说可达到80万/秒;4、而F5性能是百万级,从200万/......
  • how to set static ip using command line for kali linux
    HowtoconfigureKaliLinuxtouseastaticIPaddresshttps://miloserdov.org/?p=542  sudovim/etc/network/interfaces  autoeth0ifaceeth0inets......
  • linux (CentOS7.5_x86_64)下安装mysql8.0
    #下载mysql$wgethttp://mirrors.163.com/mysql/Downloads/MySQL-8.0/mysql-8.0.13-el7-x86_64.tar.gz#解压$mysqltar-zxvfmysql-8.0.4-rc-linux-glibc2.12-x86_6......
  • about gpasswd/chown/umask/chgrp/chmod command in linux
    adminuserusesudocanbedo:(拥有sudo权限应该做什么?)1:add<username>to<groupname>groupsudogpasswd-a<username><groupname>2:remove<username>from<group......
  • 600 条最强 Linux 命令总结
    1.基本命令uname-m显示机器的处理器架构uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DMI)hdparm-i/dev/hda罗列一个磁盘的架构特......
  • Linux系统安装
    一、Linux系统安装1、Linux系统介绍​ Linux一类操作系统的统称​ 适用于安装部署在服务器上​ 服务器:​ 提供服务的机器​ 专业的硬件设备​ pc......
  • 2023 archlinux 启用 Secure Boot (安全启动) 的最简单方法 -- sbctl
    配置背景最近在我的Thinkpad上装了Windows11+Archlinux双系统。想要开启下SecureBoot。其实不开启双系统运行也正常,但由于Windows上的WSA和部分游戏的安全......
  • Linux——命令(一)
    在虚拟机中,打开Linux系统,登录root用户,便可看到一串字符串[root@localhost~]#[当前用户名@简写主机名~]#root:显示的是当前的登录用户 @:分隔符号,没有特殊含义。l......
  • Linux修改显示屏分辨率
    一、修改U-boot屏幕参数修改对应屏幕的参数修改->ARMarchitecture->EnablegraphicalubootconsoleonHDMI,LCDorVGA底下括号的参数:例如(1024x600):x:1024,y......