Samba 文件锁定

Ale*_*x S 3 samba

我想通过以下方式设置我的 samba 服务器:

  1. 客户端 1 打开文件 A
  2. 客户端 2 尝试打开文件 A,而客户端 1 已将其打开
  3. 客户端 2 被授予对文件的只读访问权限

编辑:所有客户端都将是 Windows XP 或 Windows 7 机器。

根据此页面,我想要的最接近 DENY_DOS 的拒绝模式,但我似乎无法使该选项生效。

任何帮助将不胜感激。

Jas*_*per 7

您不能强制所有程序使用 samba 提供的文件锁定机制。许多“简单”应用程序只是打开文件,制作本地副本(在内存中或本地磁盘上),然后关闭原始文件,因此锁定仅与打开和复制操作一样持续。记事本就是一个例子。而且,这实际上是大多数程序的一个特点,而不是一个缺点。

想一想当应用程序在锁仍然存在的情况下崩溃时会发生什么。使用文件系统锁的程序应该意识到它及其含义,并具有恢复和释放机制。这就是“简单”应用程序避免文件系统锁定的原因。

如果您真的想对所有应用程序使用某种“使用中”消息,您应该使用版本控制系统。正如在 serverfault 的其他地方提到的,这不一定是一个技术问题,更像是一个社会问题:你很难说服非技术人员实际使用它。