描述
我正在使用最新的 samba 4 套件解决一个相当老的(众所周知的)问题。MS Office 2010 产品拒绝在 samba 共享上保存新的(或修改的)文件并显示以下形式的消息:
“访问文件 \sambashare\smbtest\testfile.pptx 时出错”。
此特定问题仅存在于 MS Office 2010 文件(docx、pptx、xlsx)中。打开和读取文件可以正常工作,但是在修改或保存新文件时,它就不起作用了。请注意,所有其他文件类型,包括较旧的 MS Office 产品(例如 MS Office 2003)都可以正常工作。
环境
操作系统(服务器):CentOS 6.2 版(最终版) -- 操作系统(客户端):Windows 7 -- Samba 版本:samba-4.1.11
其他类似情况:
a) Samba Share - MS Excel 保存时“无法访问文件,有几个可能的原因”
b) https://lists.samba.org/archive/samba/2011-December/165327.html
我已经阅读了很多带有此类错误的“已解决”案例,但它们都使用较旧的 samba 版本(3.*)。为这些情况提供的解决方案不适用于新的 samba 版本,因为某些参数已被弃用。我希望这个问题会在 samba 4 中得到解决,但实际上并没有。
配置
我还通过更改 smb.conf 文件进行了一系列测试。这是我目前拥有的。
[smbtest]
comment = samba test workspace
path = /sambashare/smbtest
valid users = @g-staff
force group = g-staff
browseable = yes
writeable = yes
read only = no
guest ok = no
directory mask = 2770
force directory mode = 2770
create mask = 2775
force create mode = 2775
您的帮助将不胜感激。谢谢!
支持来自一位 Samba 开发人员。
似乎这个问题是由我当前的 IBM GPFS(网络文件系统)配置引起的,而不是由 Samba 引起的。
解决问题
可以使用以下 2 种解决方法:
A)应用“特殊”设置:
对于 GPFS 1.3.1.0 或更高版本 -> 为使用 SMB2 访问的文件重命名启用 GPFS 设置:
使用 SSH,以“root”用户身份连接到活动管理节点。
运行以下命令来设置 cifsBypassShareLocksOnRename 标志:
无需重新连接网络驱动器或重新启动客户端。
注意:应用升级后,将自动重新启用对 SMB2 的支持。请检查并重新应用升级版本可能需要的任何解决方法,尤其是在升级之前应用了解决方法的情况下。
或者
B) 在客户端本地编辑和保存文件,然后将这些文件复制到网络共享。
参考 IBM 支持页面:http ://www-01.ibm.com/support/docview.wss?uid=ssg1S1004008
Samba Bugzilla 页面:https ://bugzilla.samba.org/show_bug.cgi?id=10774