laravel中日志权限莫名变成了root

框架用的是laravel,其中把一些数据写入日志,保存到storage目录中, 刚开始查看正常,再过一段时间文件权限就自动变成了root权限了,导致只有www权限的laravel不能写入日志中,这个到底是神马情况?

操作到日志文件的,只有一个logstash,定期去读做可视化日志而已,其他没有了

阅读 15.1k
9 个回答

可能是你用root命令执行了artisan命令,比如说有计划任务用root用户执行,就生成了root的日志文件。

chown -R www:www /path/to/laravel/storage,这样的话,即使是root读写也没问题,而www也可以正常读写。

我也出现类似问题 不过我的是 supervisor 在运行队列时自动创建日志文件出的问题, 要修改

[program:laravel-worker]
user=www

中用户 user=www 这样创建出来的日志文件才为www 用户组 laravel 才可以写进去
之前也是整成ROOT了 到处找原因

新手上路,请多包涵

我也遇到了同样的问题,不过我的是抓取图片的时候存储不了报权限错误,解决方法如下:
linux可以指定crontab的用户,平常crontab -e添加的任务都是在root用户的定时任务下,如果要用nobody用户执行,需要使用

crontab -u nobody -l

然后将定时任务内容添加进去,把root的crontab的任务删掉,再次执行后,生成的就是nobody用户的了

是否有计划任务是root账户执行的

应该是用了 sudo php artisan xxx:xxx 我也碰到过

查看php是否是以Root运行的.

新手上路,请多包涵

crontab可以指定用户,但我是访问页面时,直接用fopen创建日志文件,偶尔会自动变成了root,当www访问时就没权限了,这是什么原因,有人遇到过么?怎么破?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题