nginx在安装时使用root权限进行安装并启用,如何更改为普通用户权限运行nginx(亲测)

这篇具有很好参考价值的文章主要介绍了nginx在安装时使用root权限进行安装并启用,如何更改为普通用户权限运行nginx(亲测)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言:

步骤一:先查询nginx相关信息

1、查询操作系统版本:cat /etc/redhat-release

2、查询nginx安装路径:如果不知道nginx安装目录,使用:find / -name nginx(全局查找nginx应用)

3、切换到nginx父目录下查看nginx目前所属主:所属组权限属于root还是普通用户

?4、查看nginx当前启动所属用户:当前nginx启动用户是属于root权限

5、由于当前nginx启动用户是root,在root下测试nginx配置是正常的,但在普通用户下测试nginx配置会报错。

步骤二:修改nginx启动用户从root改为普通用户

?1、修改nginx所属主和所属组为普通用户(修改之前nginx所属主和所属组为root)

2、修改nginx配置文件

3、允许普通用户下启动1024以下端口(应用程序端口大于1024的话不用执行此步骤)

?? 4、关闭nginx服务

?5、以普通用户权限启用nginx

?6、查看当前nginx启动所属用户:此时主进程和子进程所属用户为普通用户

?步骤三:检查nginx配置是否是正常

1、在root下测试nginx配置是正常的,在普通用户下测试nginx配置也是正常的。

步骤四:回退方案

1、撤销允许普通用户下启动1024以下端口

?2、修改nginx所属主和所属组为管理用户(修改之前nginx所属主和所属组为appuser)

3、修改nginx配置文件

?4、关闭nginx服务

?5、以root用户权限启用nginx

?6、查看当前nginx启动所属用户:此时主进程和子进程所属用户为root用户

7、检查nginx配置是否是正常


前言:

一般我们在安装nginx时为了方便安装部署均会考虑使用root权限进行nginx的安装部署,但我们在使用root安装部署后,因为默认端口使用的是80端口,为加固网址的访问安全会生成ssl秘钥进行https方式访问,此时使用端口是443,因服务器安全方面考虑,root权限太大,安全团队不建议使用root权限进行安装部署并运行nginx,但由于Linux机制,不允许普通用户启用1024以下端口,因此我们需要改端口大于1024,但由于一般情况下https方式访问端口默认是443,此时我们想要把nginx以root权限运行改为普通用户权限运行就会出现困难,接下来告诉大家如何把以root运行nginx权限改为以普通用户权限运行nginx,本人亲测有效,此文章仅供参考(具体的根据实际情况进行更改,在操作前一定要做快照,以防应用出现故障)

步骤一:先查询nginx相关信息

1、查询操作系统版本:cat /etc/redhat-release

此次已centos7.6为例,其他操作系统需自己研究测试

nginx root启动,nginx,nginx,java,服务器

2、查询nginx安装路径:如果不知道nginx安装目录,使用:find / -name nginx(全局查找nginx应用)

本人nginx安装路径:/usr/local/nginx/

nginx root启动,nginx,nginx,java,服务器

3、切换到nginx父目录下查看nginx目前所属主:所属组权限属于root还是普通用户

nginx root启动,nginx,nginx,java,服务器

4、查看nginx当前启动所属用户:当前nginx启动用户是属于root权限

使用ps -ef|grep nginx命令查询发现主进程和子进程都是root

nginx root启动,nginx,nginx,java,服务器

5、由于当前nginx启动用户是root,在root下测试nginx配置是正常的,但在普通用户下测试nginx配置会报错。

5.1:在root用户下测试nginx配置是正常的:/usr/local/nginx/sbin/nginx -t

nginx root启动,nginx,nginx,java,服务器

5.2:在普通用户下测试nginx配置是会报错的:/usr/local/nginx/sbin/nginx -t

nginx root启动,nginx,nginx,java,服务器

步骤二:修改nginx启动用户从root改为普通用户

1、修改nginx所属主和所属组为普通用户(修改之前nginx所属主和所属组为root)

在root用户下执行:chown -R appuser:appuser /usr/local/nginx/

修改后nginx当前所有文件都属于普通用户权限

nginx root启动,nginx,nginx,java,服务器

2、修改nginx配置文件

由于nginx安装时默认使用root权限允许,由于改为普通用户权限运行nginx,所以需要把user这行注释掉,否则检查配置文件时会报错,nginx.conf配置文件内user为root,找到第三行需要注销这行

nginx root启动,nginx,nginx,java,服务器

nginx root启动,nginx,nginx,java,服务器

3、允许普通用户下启动1024以下端口(应用程序端口大于1024的话不用执行此步骤)

由于在 linux 下,只有以 root 启动的进程才能监听小于 1024 的端口。nginx 如果设置了监听 80 或 443 端口,必须得以 root 用户启动,所以为了让普通用户下启动nginx,需允许普通用户可以启动小于1024端口的进程,

Kernel从2.2版本开始,提供了Capabilities功能,它把特权划分成不同单元,可以只授权程序所需的权限,而非所有特权,具体详情参考:linux setcap指令,Linux下setcap详解_燕山美发的博客-CSDN博客

3.1:在root用户下输入命令:setcap cap_net_bind_service=+eip [nginx启动命令路径],看到nginx命令会变成红色,说明成功:

命令扩展:# 设置权限

setcap cap_net_bind_service=+eip [nginx启动命令路径]

# 清除附加权限

setcap -r [nginx启动命令路径]

# 查看附加权限

getcap [nginx启动命令路径]

nginx root启动,nginx,nginx,java,服务器

3.2:查看是否设置成功(显示红色代表允许普通用户运行此程序)nginx root启动,nginx,nginx,java,服务器

4、关闭nginx服务

可以使用命令关闭nginx:/usr/local/nginx/sbin/nginx -s stop,也可以使用kill -9 pid进行杀死程序

nginx root启动,nginx,nginx,java,服务器

5、以普通用户权限启用nginx

切换到普通用户下执行:/usr/local/nginx/sbin/nginx进行启用nginx服务nginx root启动,nginx,nginx,java,服务器

6、查看当前nginx启动所属用户:此时主进程和子进程所属用户为普通用户

ps -ef |grep nginx

nginx root启动,nginx,nginx,java,服务器

步骤三:检查nginx配置是否是正常

1、在root下测试nginx配置是正常的,在普通用户下测试nginx配置也是正常的。

1.1:在root用户下测试nginx配置是正常的:/usr/local/nginx/sbin/nginx -t

nginx root启动,nginx,nginx,java,服务器

1.2:在普通用户下测试nginx配置是正常的:/usr/local/nginx/sbin/nginx -t

nginx root启动,nginx,nginx,java,服务器

至此,nginx在安装时使用root权限进行安装并启用,如何更改为普通用户权限运行nginx验证完成

步骤四:回退方案

1、撤销允许普通用户下启动1024以下端口

setcap -r [nginx启动命令路径]

nginx root启动,nginx,nginx,java,服务器

2、修改nginx所属主和所属组为管理用户(修改之前nginx所属主和所属组为appuser)

在root用户下执行:chown -R root:root /usr/local/nginx/

修改后nginx当前所有文件都属于root权限

nginx root启动,nginx,nginx,java,服务器

3、修改nginx配置文件

由于nginx安装时默认使用root权限允许,由于改为普通用户权限运行nginx,把user这行注释掉了,否则检查配置文件时会报错,找到第三行需要去掉注销的这行的#,nginx.conf配置文件内user为root,

nginx root启动,nginx,nginx,java,服务器

nginx root启动,nginx,nginx,java,服务器

4、关闭nginx服务

可以使用命令关闭nginx:/usr/local/nginx/sbin/nginx -s stop,也可以使用kill -9 pid进行杀死程序

nginx root启动,nginx,nginx,java,服务器

5、以root用户权限启用nginx

切换到普通用户下执行:/usr/local/nginx/sbin/nginx进行启用nginx服务nginx root启动,nginx,nginx,java,服务器

6、查看当前nginx启动所属用户:此时主进程和子进程所属用户为root用户

ps -ef |grep nginx

nginx root启动,nginx,nginx,java,服务器

7、检查nginx配置是否是正常

7.1:nginx修改回root权限运行并启用程序,在root用户下测试nginx配置是正常的,在普通用户下测试nginx配置是报错的

7.1.1:在root用户下测试nginx配置是正常的:/usr/local/nginx/sbin/nginx -t

nginx root启动,nginx,nginx,java,服务器

7.1.2:在普通用户下测试nginx配置是报错的:/usr/local/nginx/sbin/nginx -t

nginx root启动,nginx,nginx,java,服务器

至此,nginx更改为普通用户权限运行nginx服务的回退方案验证完成

最后

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。文章来源地址https://www.toymoban.com/news/detail-722090.html

到了这里,关于nginx在安装时使用root权限进行安装并启用,如何更改为普通用户权限运行nginx(亲测)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 银河麒麟服务器版v4安装程序缺少依赖包,改为利用手机联网在线安装。及启用ip转发

    1 将安卓手机连接使用usb转typec线连接到服务器的usb口。(linux桌面版)也可以类似的方法手机联网。 2 在手机热点中打开usb共享 3 使用 ifconfig 命令找到手机被服务器识别成的网卡名 4 使用 dhclient “手机网卡名” 命令,使服务器能上网。 5 变更银河麒麟服务器版的源为网络源

    2024年02月01日
    浏览(145)
  • Ubuntu用户必看:如何启用Root用户账户?

    Ubuntu是一款非常流行的Linux操作系统,它具有易用性、稳定性和安全性等众多优点。然而,在Ubuntu中,默认情况下是禁用了Root用户账户的,这给一些用户带来了一定的不便。Root账户是Linux系统的最高权限账户,启用Root账户可以让用户更方便地进行系统管理和维护。那么,如何

    2024年02月15日
    浏览(27)
  • OPPO打开root后宫,oppo手机如何打开root权限

    1、我们可以打开手机的应用商店,在搜索栏输入root来搜索可以实现对手机获取root权限的工具来对手机root。 2、对手机安装完成的相关root工具我们打开,并点击一键获取root权限按钮,以实现对手机获取root权限。 3、等待一会,root工具就可以获取该手机的root权限了。这

    2024年02月09日
    浏览(44)
  • 如何在非root安卓设备上让Termux获取root权限

    在经过root的安卓手机上,我们可以获取管理权限,可以在系统权限级别上调整和编辑应用程序,如SuperSu、 Kingroot、 Magisk等等方式。如果要root设备,那么建议使用magisk方式,毕竟它是不会轻易修改系统文件的。而如果你不想root设备,那么就可以用FakeRoot这个方法来安装sudo命

    2023年04月19日
    浏览(30)
  • 如何判断手机是否有root权限(是否越狱)

    1.通过adb命令判断 命令行输入 adb shell,#代表已经root过,$代表没有root权限

    2024年02月15日
    浏览(30)
  • 如何在Kali Linux中获得root权限?

    根用户名或账户在Linux或任何其他类似Unix的操作系统中拥有所有可用命令和文件的默认权限。它也被称为超级用户、根账户和根用户。用户名:\\\"kali \\\"是登录新Kali系统的标准凭证。这建立了一个用户 \\\"kali \\\"的会话,你必须在 \\\"Sudo \\\"之后使用这个用户密码来获得root权限。Kali Lin

    2024年02月08日
    浏览(25)
  • 在 Ubuntu 中如何设置和管理 root 用户权限?

    在 Ubuntu 操作系统中,root 用户是具有最高权限的用户,可以执行对系统的所有操作。但是,在默认情况下,Ubuntu 禁用了 root 用户,而是使用 sudo 命令来实现管理员权限。本文将详细介绍在 Ubuntu 中如何设置和管理 root 用户权限,并讨论一些常见的安全风险和预防措施。 root

    2024年02月16日
    浏览(38)
  • 如何判断linux 服务器是否是root权限

    您可以使用以下命令来判断当前Linux用户是否具有root权限: 如果输出为root,则表示当前用户是root用户,即具有root权限。 另外,您也可以使用以下命令来判断当前用户是否具有root权限: 如果当前用户具有sudo权限,则该命令不会输出任何内容。 如果当前用户没有sudo权限,则

    2024年02月11日
    浏览(36)
  • 如何配置 Nginx 作为 Jenkins 的反向代理并启用 SSL 加密

    简介 默认情况下,Jenkins 自带内置的 Web 服务器,监听在 8080 端口上。这对于运行私有 Jenkins 实例或者只是需要快速启动而不关心安全性的用户来说很方便。但是一旦您的主机上有真实的生产数据,使用更安全的 Web 服务器(如 Nginx)来处理流量是个不错的主意。 本文将详细

    2024年04月22日
    浏览(27)
  • 小米手机安装面具教程(Xiaomi手机获取root权限)

    https://magiskcn.com/ https://zhuanlan.zhihu.com/p/548982561 在文件夹空白处,按住shift键+右键单击,选择在此处打开命令窗口选项,也可以弹出命令行窗口。 电脑下载 adb-fastboot: lanzoub.com/b02plghuh(解压出来) https://xiaomirom.com/ https://www.mintimate.cn/ 分类–Android

    2024年01月20日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包