nginx 降权

让nginx 是用普通用户

默认情况下,Nginx的Master进程使用的是root用户,Worker进程使用的是Nginx指定的普通用户,使用root用户跑Nginx的Master进程有两个最大的问题
管理权限必须是root,这就使得最小化分配权限原则遇到难题
使用root跑Nginx服务,一旦网站出现漏洞,用户就可以很容易获得服务器的root权限
 

给Nginx服务维权,用普通用户跑Nginx服务,给开发及运维设置普通账号,只要和普通用户同组即可管理Nginx,该方案解决了Nginx管理问题,防止root分配权限过大。
开发人员使用普通账户即可管理Nginx服务以及站点下的程序和日志
采取项目负责制度,即谁负责项目维护出了问题就是谁负责
 

mansonai@Ubuntu-22:~$ mkdir conf logs www

mansonai@Ubuntu-22:/etc/nginx$ cp /etc/nginx/mime.types /home/mansonai/conf/
mansonai@Ubuntu-22:~$ cp /etc/nginx/nginx.conf conf/
mansonai@Ubuntu-22:/etc/nginx$ echo mansonai > /home/mansonai/www/index.html

mansonai@Ubuntu-22:~$ vim conf/nginx.conf 
worker_processes  4;
worker_rlimit_nofile 65535;
error_log  /home/mansonai/logs/error.log;
user mansonai mansonai;
pid  /home/mansonai/logs/nginx.pid;
events {
    use epoll;
    worker_connections  1024;
}
http {
    include       /home/mansonai/conf/mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       8080;
        server_name  localhost;
        root  /home/mansonai/www;
        location / {
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        access_log  /home/mansonai/logs/access.log;
    }
}
#所有路径均改为普通用户的路径


全路径启动nginx -c参数使用指定的配置文件而不是conf目录下的nginx.conf

mansonai@Ubuntu-22:~$ /usr/sbin/nginx -c /home/mansonai/conf/nginx.conf &> /dev/null 
mansonai@Ubuntu-22:~$ ps -ef | grep nginx | grep -v grep
mansonai   10932       1  0 23:21 ?        00:00:00 nginx: master process /usr/sbin/nginx -c /home/mansonai/conf/nginx.conf
mansonai   10933   10932  0 23:21 ?        00:00:00 nginx: worker process
mansonai   10934   10932  0 23:21 ?        00:00:00 nginx: worker process
mansonai   10935   10932  0 23:21 ?        00:00:00 nginx: worker process
mansonai   10936   10932  0 23:21 ?        00:00:00 nginx: worker process

访问

nginx 降权_第1张图片

 

你可能感兴趣的:(nginx,运维,服务器)