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

Vtiger 7 迁移storage、test目录至NFS后无写入权限问题求助

Vtiger 7 NFS挂载写入权限问题解决方案

1. 修复NFS服务端共享配置

NFS默认开启root_squash参数,会将客户端的root用户映射为匿名用户nfsnobody,即使目录设置777权限也会拦截写入请求,可通过配置用户映射解决:

  • 编辑服务端/etc/exports文件,在共享目录配置中添加身份映射参数,将所有访问用户映射为Vtiger运行用户(通常为apache或www-data):
    示例配置:
    /srv/nfs/vtiger 10.0.0.0/24(rw,sync,no_subtree_check,no_root_squash,all_squash,anonuid=33,anongid=33)
    
    其中anonuid、anongid替换为你的Vtiger运行用户的实际UID、GID,IP段替换为你服务的内网网段。
  • 配置生效命令:
    exportfs -ra
    systemctl restart nfs-server
    

2. 校验服务端与客户端用户身份一致性

NFS基于UID、GID做权限校验,而非用户名,必须保证所有客户端和NFS服务端上Vtiger运行用户的UID、GID完全一致:

  • 客户端执行命令查询web用户UID/GID:id www-data(运行用户为apache则替换为apache)
  • 服务端执行相同命令,确认返回的uid、gid值和客户端完全一致,若不一致可修改对应用户的UID/GID,或直接在上述/etc/exports配置中填写客户端web用户的UID/GID即可。

3. 验证客户端NFS挂载参数

  • 执行mount | grep nfs确认挂载目录参数包含rw(可写),不存在ro(只读)参数
  • 若参数错误,卸载后重新挂载,或修改/etc/fstab配置永久生效,示例fstab配置:
    10.0.0.10:/srv/nfs/vtiger /mnt/vtiger-nfs nfs defaults,rw,soft,timeo=10 0 0
    
  • 直接切换到web用户测试写入能力,确认基础权限正常:
    sudo -u www-data touch /mnt/vtiger-nfs/storage/test_write.txt
    
    若可正常创建文件则NFS层权限无问题,否则继续排查。

4. 关闭系统安全模块拦截

  • RHEL/CentOS/Rocky等发行版默认开启SELinux,会拦截web服务写入NFS目录,执行命令开启对应权限:
    setsebool -P httpd_use_nfs on
    
  • Debian/Ubuntu系若开启了AppArmor,需调整Apache/Nginx的AppArmor规则,放开NFS挂载目录的读写权限。

5. 校验Vtiger配置

  • 检查Vtiger根目录下的config.inc.php文件,确认root_directory、cache_dir等目录配置指向软链接路径,没有硬编码旧的本地存储路径
  • 清空Vtiger缓存目录下的所有文件,避免旧路径缓存导致写入异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 13:24:03