我正在使用CentOS。
我有一个目录,例如:
drwxrwsr-x 2 someuser deploy 4096 Apr 23 23:29 logs
Apache是部署组的成员:
deploy:x:509:dev,apache
我相信我确定apache正在运行的用户实际上是" apache":
$ ps aux | egrep '(apache|httpd)'
apache 26573 0.0 2.6 429516 13176 ? S 22:54 0:00 php-fpm: pool www
因此,如果该组具有写权限,并且该组为deploy
,并且该apache用户是该组的一部分,为什么它不能写入该文件夹?如果我将组更改为apache
,那么apache可以写,但我不明白为什么这是必要的。
感谢您的帮助。
答案 0 :(得分:2)
添加到部署组后是否重启了apache? (我不会 期望需要重新启动)Apache错误日志会给你 除“权限被拒绝”以外的任何详细信息'? - Michael Berkowski
这让我走上了正确的道路。事实上我已经重新启动了apache服务。但是,当我按照迈克尔建议检查apache日志时,它们是空的。经过进一步探索,结果证明nginx正在处理此服务器上的请求,并且PHP正在通过php-fpm服务运行。由于php-fpm已经设置为以apache用户身份运行,并且我已经添加了apache作为部署组的成员,因此只需重新启动php-fpm服务即可。谢谢你帮我解决这个迈克尔。