关于修改php fpm用户的问题
修改php fpm用户的方法:首先修改“nginx.conf”中的“user *****”;然后修改用户和用户组;接着修改“php-fpm”的配置文件;最后设置的session保存的路径即可。
推荐:《PHP视频教程》
关于nginx和php-fpm的修改用户和用户组的问题
修改nginx和php-fpm的用户和用户组时除了修改
nginx.conf 下的
user *****
和/etc/php-fpm.d/www.conf下的
user = **** group = ****
修改上面之后,重启nginx和php-fpm,ps -ef|grep … 会发现应用的用户和用户组变了,但是这还能算万事大吉
还要修改一下一些目录下的权限
(以 修改的用户和用户组为nobody为例)
1. 如 nginx的日志目录 /var/log/nginx chown -R nobody:nobody /var/log/nginx 否则不能不能读写access.log 和errorlog
2. 还有 上传文件用到的一个路径 /var/lib/nginx/tmp/ chown -R nobody:nobody /var/lib/nginx 否则上传文件出错,因为保存不了上传的临时文件
3.还有的就是php-fpm的配置文件中
php_value[session.save_handler] = files php_value[session.save_path] = /var/lib/php/session
设置的session保存的路径,如果你修改了php-fpm的用户和用户组,重启之后,你会发现什么登陆状态,验证码都保存不了,没错session没保存,因为没有修改上面保存session路径的权限
所以应该 让你修改的用户拥有/var/lib/php/session的读写权限,chown 或者chmod 反正让php-fpm的应用用户有权限访问就可以了
扩展:
“ nobody就是一个普通账户,因为默认登录shell是 '/sbin/nologin',所以这个用户是无法直接登录系统的,也就是黑客很难通过漏洞连接到你的服务器来做破坏。此外这个用户的权限也给配置的很低。因此有比较高的安全性。一切都只给最低权限。这就是nobody存在的意义。”
查看linux用户列表
cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more
查看nobody用户所在的组,以及组内成员 groups nobody
查看所有用户组 cat /etc/group