我在具有apache2和supervisored配置的VPS上有一个laravel应用程序。文件权限设置如下:
- 整个项目目录归
www-data
组所有 - Apache使用
www-data
用户 - 我和主管使用
app
组的www-data
用户。
一切正常,直到我必须处理作业内部和Web服务器处理的请求中的某些文件。这是流程的摘要:
- 用户上传文件。我将文件保存在
local
磁盘上的临时目录中。
Storage::disk('local')->put('new-directory/filename',$fileContent);
- 我派出了一份应详细说明文件的工作
- 作业应在详细说明结束时删除文件:
Storage::disk('local')->delete('new-directory/filename');
但是实际上我得到的是一个权限错误,因为该文件归www-user
所有,主管使用该队列工作的app
用户没有权限删除该文件。文件。
我尝试使用“公开”可见性:->put('new-directory/filename',$fileContent,'public')
,但是文件仍然受到保护。这是目录中ll
的仓库:
-rw-r--r-- 1 www-data www-data 60780 Dec 5 14:15 $filename
是否有一种方法可以解决运行队列的用户与Web服务器用户之间的文件权限问题?