Samba网络驱动器存储的Excel文件无法打开故障求助
故障根因分析
- 该故障由Samba默认配置与MS Office网络文件访问逻辑不兼容导致:Office打开网络共享内的Office格式文件时,除基础读写权限外,还会发起文件NTFS扩展属性查询、临时锁文件操作请求,默认Samba配置未放开对应校验规则
- 报错提示中的本地INetCache路径不存在为Office的误导性提示,实际错误触发在Samba服务端的文件元数据查询环节,你提供的日志中
NT_STATUS_ACCESS_DENIED错误,对应的就是Office发起的扩展属性查询请求被Samba拒绝
解决方案
修改Samba配置
编辑/etc/samba/smb.conf文件的[homes]配置段,补充以下配置项:
[homes] browseable = no path = /home/%S/windows read only = no valid users = %S # 新增适配Office的配置 create mask = 0777 directory mask = 0777 ea support = yes store dos attributes = yes map archive = no map system = no map hidden = no map readonly = no acl allow execute always = yes
上述配置的作用为:放开Samba对DOS属性、扩展属性的支持,关闭Linux权限到Windows文件属性的自动映射,完全适配Office的网络文件访问规则。
重启Samba服务生效
执行以下命令重启Samba服务加载新配置:systemctl restart smbd nmbd
客户端验证
先卸载原有共享挂载:net use S: /delete /y
重新挂载共享:net use S: \\<address>\<user> <password>
重新打开.xlsx文件即可正常访问。
可选排查方案
如果修改配置后故障仍存在,可临时关闭Office受保护视图验证:打开Excel -> 选项 -> 信任中心 -> 信任中心设置 -> 受保护的视图,取消勾选所有受保护视图选项后重试,排除受保护视图的附加权限校验影响。
内容的提问来源于stack exchange,提问作者Tomáš Sláma
相关产品推荐
相关产品推荐

