You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下Laravel外置存储目录权限异常问题求助

问题解决思路

1. 修正路径不一致问题

你配置的磁盘root路径是/home/my-user/my-storage,报错提示的是/home/my-user-name/my-storage,且你提到www-data有权限的是/home/user/my-storage,这三个路径存在拼写差异,先统一所有路径:

  • 修改config/filesystems.php中的ubuntu磁盘配置,将root设置为实际存在的目录,比如/home/my-user-name/my-storage
  • 重新确认www-data对该目录的权限(建议用更安全的755而非777):
    sudo chown -R www-data:www-data /home/my-user-name/my-storage
    sudo chmod -R 755 /home/my-user-name/my-storage
    

2. 检查家目录访问权限

Linux用户家目录(如/home/my-user-name)默认权限为700,会导致www-data无法进入该目录,进而访问不到内部的my-storage。执行以下命令修改家目录权限:

sudo chmod o+x /home/my-user-name

该命令让其他用户(含www-data)拥有进入家目录的权限。

3. 排查AppArmor限制

Ubuntu默认启用AppArmor,可能限制Apache进程访问/home目录:

  • 临时关闭AppArmor测试:
    sudo systemctl stop apparmor
    
    若问题解决,需修改AppArmor规则允许Apache访问目标目录:
    1. 复制Apache配置文件到本地修改:
      sudo cp /etc/apparmor.d/usr.sbin.apache2 /etc/apparmor.d/local/usr.sbin.apache2
      
    2. 在文件末尾添加规则:
      /home/my-user-name/my-storage/** rwk,
      
    3. 重新加载AppArmor规则:
      sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.apache2
      

4. 清除Laravel缓存

确保配置修改生效,执行以下命令清除缓存:

php artisan config:clear
php artisan cache:clear

内容的提问来源于stack exchange,提问作者maximus1127

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 21:05:00