描述
我在使用最新的 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
非常感谢您的帮助。谢谢!
答案1
支持来自一位 Samba 开发人员。
这个问题似乎是由我当前的 IBM GPFS(网络文件系统)配置而不是 Samba 引起的。
解决问题
有以下 2 种解决方法:
A)应用“特殊”设置:
对于 GPFS 1.3.1.0 或更高版本 -> 使用 SMB2 访问启用文件重命名的 GPFS 设置:
使用 SSH,以“root”用户身份连接到活动管理节点。
运行以下命令来设置 cifsBypassShareLocksOnRename 标志:
[root@gpfsmngtserver ~]# mmchconfig cifsBypassShareLocksOnRename=yes -i mmchconfig: Command successfully completed mmchconfig: Propagating the cluster configuration data to all affected nodes. This is an asynchronous process.
- 验证设置:
[root@gpfsmngtserver ~]# mmfsadm dump config |grep -i cifs cifsBypassShareLocksOnRename 1 <---- check that this is now set to 1 cifsBypassTraversalChecking 0
无需重新连接网络驱动器或重新启动客户端。
注意:升级后将自动重新启用对 SMB2 的支持。请检查并重新应用升级版本可能需要的任何解决方法,尤其是如果在升级之前已应用解决方法。
或者
B) 在客户端本地编辑和保存文件,然后将这些文件复制到网络共享。
参考 IBM 支持页面:http://www-01.ibm.com/support/docview.wss?uid=ssg1S1004008
Samba Bugzilla 页面:https://bugzilla.samba.org/show_bug.cgi?id=10774