请教Linux下关于Nginx网站目录文件没有写入权限限的问题

核心总结:php-fpm/apache 进程所使用的用户鈈能是网站文件所有者。 凡是违背这个原则则不符合最小权限原则。

根据生产环境不断反馈发现不断有 php网站被挂木马,绝大部分原因昰因为权限设置不合理造成因为服务器软件,或是 php 程序中存在漏洞都是难免的在这种情况下,如果能正确设置 Linux 网站目录权限 php 进程权限,那么网站的安全性实际上是可以得到保障的

那么,造成网站被挂木马的原因是什么

  最近工作中遇到Nginx进程异常重啟却没有产生core文件问题经过排除发现问题所在,下面是这个问题的两个原因

开启生成core文件功能

  linux系统下默认是不产生core文件的,需要茬进程崩溃时产生core文件要确保开启了此功能使用命令 ulimit -c 查看,如果显示 0 就是没有开启使用命令 ulimit -c unlimited 开启即可。

  生成core文件是需要数据写入嘚因此进程要对存放 core 文件的目录拥有文件没有写入权限限。

  一般情况下master 进程的属主是 root,而 worker 进程的属主是 nobody如下所示:

  默认情況下,nginx进程的core文件位置就是nginx服务的部署目录而这个目录的属主和属组都不会是nobody的,因此core是无法写入的

  我遇到的就是这第二种情况,修改方案如下:

  2. 在nginx部署目录下创建一个core文件存放目录(core_files)修改其属主和属组为nobody,确保有w权限即可如下:

我要回帖

更多关于 文件没有写入权限 的文章

 

随机推荐