如何修复 Mac OSX 中的 Samba 文件权限问题

如何修复 Mac OSX 中的 Samba 文件权限问题

这个问题我已经困扰我很久了,下面是它的基本情况...我使用 Windows 7/8 计算机与 Mac OSX Lion/Mountain Lion 的混合环境。每当 Windows 计算机在 Mac 上的 SMB 共享上创建文件时,它就不再具有组权限,只有创建或更新该文件的人才能访问它。我的解决方案是进入 Mac 系统并重置整个目录结构的权限,然后每个人都可以再次看到它。

关于这个问题,我能找到的唯一信息是 OSX pre Snow Leopard 中提到编辑 SMB.CONF 文件来解决他们的特定问题(与我的类似,http://www.gladsheim.com/blog/2009/09/19/osx-leopard-and-samba-permissions/)问题是现在 Lion 和 Mountion Lion 不再有 SMB.CONF 文件(另一个网络搜索指向 com.apple.smbd.plist(http://kidsreturn.org/?s=smb.conf) 但它现在是一个 XML 文件,我不清楚应该怎么做才能解决这个问题。

因此,除了我编写一个 Applescript 每小时运行一次来​​修复权限之外,有谁知道如何解决这个非常令人沮丧的问题吗?

提前感谢您提供的任何建议或解决方案!

答案1

尽管我更喜欢 Samba 的“强制组”、“强制创建模式”和“强制目录模式”组合,但从 OS X Lion 开始,这种方法实际上已经过时了(或者至少太麻烦了)。目前,最好的解决方案是使用组和 ACL。

在系统偏好设置->用户和组中:

  1. 为需要文件共享写权限的用户创建一个新组。不要尝试重复使用“staff”组,需要在步骤 4 中强制创建 ACL 的新组。
  2. 将用户添加到组中。

在系统偏好设置->共享->文件共享中:

  1. 选择共享文件夹。
  2. 将该组添加到共享权限(单击“用户”列表下的 +)并授予其读/写访问权限。

使用“ls -le”检查共享目录及其内容的 ACL。您应该会看到类似以下内容:

-rw-r-----+ 1 scott    staff  43667456 Feb 17 21:59 filename
 0: group:xxx inherited allow read,write,execute,append,...

权限是继承的;所有组成员现在都有读/写访问权限。

相关内容