在这里,我有一个Samba服务器(Debian 5.0),它被配置为托管
Windows XP配置文件.
客户端连接到此服务器并直接在samba共享上处理其配置文件(该配置文件不会在本地复制).
时不时地,客户端可能无法正常关闭,因此Windows不会释放文件锁.在查看samba锁定表时,我们可以看到许多文件仍然被锁定,即使客户端已不再连接.在我们的例子中,这似乎发生在Mozilla Thunderbird和Firefox创建的锁定文件中.以下是samba锁定表的示例:
# smbstatus -L | grep DENY_ALL | head -n5 Pid Uid DenyMode Access R/W Oplock SharePath Name Time -------------------------------------------------------------------------------------------------- 15494 10345 DENY_ALL 0x3019f RDWR EXCLUSIVE+BATCH /home/CORP/user1 app.profile/user1.thunderbird/parent.lock Mon Nov 22 07:12:45 2010 18040 10454 DENY_ALL 0x3019f RDWR EXCLUSIVE+BATCH /home/CORP/user2 app.profile/user2.thunderbird/parent.lock Mon Nov 22 11:20:45 2010 26466 10056 DENY_ALL 0x3019f RDWR EXCLUSIVE+BATCH /home/CORP/user3 app.profile/user3.firefox/parent.lock Mon Nov 22 08:48:23 2010
我们可以看到文件是由Windows打开的,并强加了DENY_ALL锁.
现在,当客户端重新连接到此共享并尝试打开这些文件时,samba表示它们已被锁定并拒绝访问.
有没有办法解决这种情况或者我错过了什么?
编辑:我们希望避免在samba服务器上禁用文件锁,因为有充分的理由启用它们.