我在通过 Samba 连接到 UNIX 服务器(运行 CentOS)的 Mac 客户端计算机(OS X Snow Leopard)时遇到了一些严重的权限问题。无论我为服务器上的文件设置了哪些权限,Mac 都会忽略它们并将权限更改回 766。
我的目标是能够在客户端计算机上使用或打开文件 (744) 时锁定其他用户。在此期间,其他客户端应该能够读取该文件,但不能写入。我找到了一个线这几乎完全描述了我的问题,建议在 smb.conf 文件的全局部分中使用“unix extensions = off”参数,但无济于事。在我运行的 Samba 版本 (3.4) 上,“testparm”命令拒绝了该参数;通过将参数更改为“unix extensions = no”解决了编译问题,但仍然无法解决问题。
当我尝试使用 AFP 时也出现了同样的问题。
我真的不知道下一步该怎么做,有没有人能给我一些建议或信息来解决这个问题?
谢谢!
答案1
抱歉,这对楼主没有帮助,但我可以确认
unix extensions = no
对我来说很管用。我的 Mac 运行 Snow Leopard,使用 Samba 3.2.3 连接到 Linux (lenny/sid) 服务器。我发布此信息是为了让其他人仍能尝试。与其他人一样,在我输入此unix extensions = no
行之前,此行force create mode
被忽略了。
答案2
Samba 有两种方式设置上传文件的权限:
- 不使用 UNIX 扩展:使用预设的文件/目录掩码
- 使用 UNIX 扩展(可能是 MacOS 客户端有):允许客户端控制文件权限
以下是您应该添加到配置文件中的行(smb.conf
):
# 对于情况 1:没有 UNIX 扩展 创建掩码 = 0644 目录掩码 = 0755 # 对于情况 2:覆盖 UNIX 扩展 强制创建模式 = 0644 强制目录模式 = 0755
(应放置在任何共享定义之前:这看起来像方括号中的 [共享名称] 和几行缩进。这些集合将应用于您拥有的所有共享)
如果需要的话,还可以阅读force group
和。force user
man smb.conf
答案3
我认为这不是你的问题的正确答案,但它可以帮助你http://www.linuxconfig.net/2009/11/16/file-server-with-samba-and-ftp-in-freebsd.html
答案4
除了 kolypto 建议的“强制创建模式”和“强制目录模式”选项外,您可能还需要
force directory mode = 2770
force security mode = 660
请参阅man smb.conf
以使模式位适应您的需要。