Samba 和 OS X 的权限问题

syn*_*ity 5 samba mac-osx file-permissions osx-snow-leopard

我在 Mac 客户端机器(OS X Snow Leopard)通过 Samba 连接到 UNIX 服务器(运行 CentOS)时遇到了一些严重的权限问题。无论我为服务器上的文件设置了哪些权限,Mac 都会忽略它们并将权限更改回 766。

我的目标是能够在其他用户使用或在客户端计算机上打开时锁定其他用户的文件 (744)。在此期间,其他客户端应该能够读取该文件,但无法写入该文件。我找到了一个描述我的问题的线程,几乎完全建议在 smb.conf 文件的全局部分使用“unix extensions = off”参数,但无济于事。该参数在我运行的 Samba 版本 (3.4) 上被“testparm”命令拒绝;通过将参数更改为“unix extensions = no”解决了编译问题,但仍然无法解决问题。

当我尝试使用 AFP 时,也会出现同样的问题。

我真的不确定下一步该去哪里,有没有人有任何我可以用来解决这个问题的建议或信息?

谢谢!

mik*_*ner 8

抱歉,这对 OP 没有帮助,但我可以确认

unix extensions = no

为我工作。我有运行 Snow Leopard 的 Mac,使用 Samba 3.2.3 连接到 Linux (lenny/sid) 服务器。我发布这个是为了人们仍然会尝试。就像其他人一样,在我插入unix extensions = no线路之前,force create mode被忽略了。


kol*_*pto 4

Samba 有两种方法为上传的文件设置权限:

  1. 没有 UNIX 扩展:使用预设文件/目录掩码
  2. 使用 UNIX 扩展(MacOS 客户端可能有):允许客户端控制文件权限

以下是您应该添加到配置文件 ( ) 中的行smb.conf

# 对于情况 1:没有 UNIX 扩展
创建掩码 = 0644
目录掩码=0755
# 对于情况 2:覆盖 UNIX 扩展
强制创建模式 = 0644
强制目录模式 = 0755

(应放置在任何共享定义之前:这看起来像方括号中的 [共享名称] 和几行缩进线。然后这些集将应用于您拥有的所有共享)

如果您需要的话,还可以阅读有关force group和 的force user内容man smb.conf