nginx安全优化之用普通用户运行master
2016-04-28 10:58
555 查看
一般情况下,我们在编译安装的时候会创建指定nginx来运行程序,但是nginx启动后它的master进程还是root,为了安全起见,我们要修改它的主进程,改为普通用户。
注意:普通进程就使用普通用户管理就可以,不要任何程序都使用root 检查:ps -ef
1、先创建一个普通用户; useradd yujia 2、 将nginx主程序下的配置文件conf、html、logs文件拷贝到普通用户的家目录下; cd /home/yujia cp -ap /usr/local/nginx/conf . cp -ap /usr/local/nginx/html . cp -ap /usr/local/nginx/logs . 2、修改配置文件vim /home/yuja/conf/nginx.conf要想使用普通用户运行nginx 必须要将端口80更改,大于1024,此处使用8080,以下只列出修改的部分:
error_log /home/yujia/nginx/logs/error.log error;
pid /home/yujia/nginx/logs/nginx.pid;
http {
server {
listen 8080;
server_name www.yujia.com yujia.com;
root /home/yujia/nginx/html;
index index.html;
access_log /home/yujia/nginx/logs/www_access.log main;
error_log /home/yujia/nginx/logs/www_error.log;
}
} #端口可以使用sudo或者 nat 转换解决; 4、将/home/yujia目录下的logs、conf、html三个目录赋权给yujia这一普通用户; chown -R yujia /home/yujia/* 5、 切换到yujia普通用户下启动nginx su - yujia /usr/local/nginx/sbin/nginx -c /home/yujia/conf/nginx.conf 检查:ps -ef|grep nginx 如果出现nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied) 类似错误,切换到root,将报错目录的权限改为777即可 chmod -R 777 /usr/local/nginx/logs
注意:普通进程就使用普通用户管理就可以,不要任何程序都使用root 检查:ps -ef
1、先创建一个普通用户; useradd yujia 2、 将nginx主程序下的配置文件conf、html、logs文件拷贝到普通用户的家目录下; cd /home/yujia cp -ap /usr/local/nginx/conf . cp -ap /usr/local/nginx/html . cp -ap /usr/local/nginx/logs . 2、修改配置文件vim /home/yuja/conf/nginx.conf要想使用普通用户运行nginx 必须要将端口80更改,大于1024,此处使用8080,以下只列出修改的部分:
error_log /home/yujia/nginx/logs/error.log error;
pid /home/yujia/nginx/logs/nginx.pid;
http {
server {
listen 8080;
server_name www.yujia.com yujia.com;
root /home/yujia/nginx/html;
index index.html;
access_log /home/yujia/nginx/logs/www_access.log main;
error_log /home/yujia/nginx/logs/www_error.log;
}
} #端口可以使用sudo或者 nat 转换解决; 4、将/home/yujia目录下的logs、conf、html三个目录赋权给yujia这一普通用户; chown -R yujia /home/yujia/* 5、 切换到yujia普通用户下启动nginx su - yujia /usr/local/nginx/sbin/nginx -c /home/yujia/conf/nginx.conf 检查:ps -ef|grep nginx 如果出现nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied) 类似错误,切换到root,将报错目录的权限改为777即可 chmod -R 777 /usr/local/nginx/logs
相关文章推荐
- nginx代理指定目录
- 访问Nginx发生SSL connection error的一种情况
- Nginx+Naxsi部署专业级Web应用防火墙
- CentOS 6.2实战部署Nginx+MySQL+PHP
- nginx中http核心模块的配置指令2
- nginx中http核心模块的配置指令3
- nginx中http核心模块的配置指令4
- nginx中http的fastcgi模块的配置指令1
- Nginx 学习笔记(一)
- 网站502与504错误分析
- 用zabbix监控nginx_status状态
- 艰难完成 nginx + puma 部署 rails 4的详细记录
- 把Lua编译进nginx步骤方法
- web 应用中常用的各种 cache详解
- Linux系统上配置Nginx+Ruby on Rails+MySQL超攻略
- window+nginx+php环境配置 附配置搭配说明
- 解析CI即CodeIgniter框架在Nginx下的重写规则
- 将PHP从5.3.28升级到5.3.29时Nginx出现502错误
- 基于Nginx0.8.54+PHP5.3.4+MySQL5.5.8的全新LNMP稳定版架构搭建的VPS