Ngnix全局块的user指令,403权限不足

简介: Ngnix全局块的user指令,403权限不足

user:用于配置运行Nginx服务器的worker进程的用户和用户组。

第一个user是指令名称对应的,第二个user是指定的用户名信息,group是用户所属的组,该组可以不用设置他,如果没有指定,默认会用nohody这个属性

进入到ngnix的相关路径之后,可以使用./configure --help查看相关命令

--user=USER和--group=GROUP与我们的工作进程是相关的

如何设置user,使用vim ngnix.conf打开conf文件

打开之后,第一行就是user nobody;相关的配置

一般将配置修改之后,建议转到

cd ../sbin/

使用

./nginx -t

检验一下是否配置成功,需要注意的是使用user指令配置用户,要检测是否存在,如果系统内部不存在,就会产生报错

利用useradd可以添加制定用户

使用 ps -ef | grep nginx 查看对应nginx进程,可以查看此时的worker进程的PID是27396

使用./nginx -s reload重新加载用户信息,此时的用户信息已经变成了www

使用cd /root

mkdir html   //创建文件

rm -rf html/创建一个html文件

vim index.html打开文件

只要修改root这里的路径,就可以实现跳转,跳转到指定页面

cd ../sbin/         /切换到sbin文件下

./ngnix -t         // 检验语法是否正确        

使用./nginx -s reload     // 重启配置

修改了root中展示的页面的跳转路径,这里重新跳转页面的时候出现403的错误,403一般是权限不足的问题

解决的方法是将目录 cp -r /root/html/ ./ 复制的生成的www文件下就可以了

之后将root的路径重新设置为, /home/www/html你想要的路径

重新进入到sbin文件,检测语法是否正确

进入到/home目录下文件的用户组是www

再到root目录下看一看,这里是root权限,而使用user设置了www的用户之后,对于root的组是没有相应的权限的

总结:

设置一个用户信息"www"

user www;

创建一个用户

useradd www

修改user属性

user www

创建/root/html/index.html页面,添加如下内容

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sansserif;
}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is
successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer
to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
<p><em>I am WWW</em></p>
</body>
</html>

修改nginx.conf

location / {
root /root/html;
index index.html index.htm;
}

测试启动访问

页面会报403拒绝访问的错误

分析原因

因为当前用户没有访问/root/html目录的权限

将文件创建到 /home/www/html/index.html ,修改配置

location / {root /home/www/html;index index.html index.htm;}

再次测试启动访问,综上所述,使用user指令可以指定启动运行工作进程的用户及用户组, 这样对于系统的权限访问控制的更加精细,也更加安全。

相关文章
|
3天前
|
应用服务中间件 开发工具 nginx
Ngnix全局块的工作进程的两个指令
Ngnix全局块的工作进程的两个指令
|
3天前
|
前端开发 应用服务中间件 Linux
Ngnix的events块指令讲解和events指令配置实例
Ngnix的events块指令讲解和events指令配置实例
|
3天前
|
存储 应用服务中间件 Linux
Ngnix全局块的其他配置指令--daemon指令介绍
Ngnix全局块的其他配置指令--daemon指令介绍
|
8月前
|
存储 缓存 小程序
小程序全局共享数据--存储
小程序全局共享数据--存储
69 0
|
11月前
|
人工智能 Unix Shell
常见指令以及权限理解
常见指令以及权限理解
250 0
Ansible 自定义变量与 role 默认变量的合并方法
如果你遇到 failed to combine variables, expected dicts but got a &#39;NoneType&#39; and a &#39;dict&#39; 这样的报错,你可以看看本文。
261 0
|
应用服务中间件 nginx
|
开发框架 安全 .NET
不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 oveoverrideMode....
不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 oveoverrideMode....
522 0
不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault="Deny"),或者是通过包含 oveoverrideMode....
|
JavaScript 索引
v-for指令的四种使用方式
一、v-for属性 二、四种使用方式代码