这个问题我已经困扰我很久了,下面是它的基本情况...我使用 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。
在系统偏好设置->用户和组中:
- 为需要文件共享写权限的用户创建一个新组。不要尝试重复使用“staff”组,需要在步骤 4 中强制创建 ACL 的新组。
- 将用户添加到组中。
在系统偏好设置->共享->文件共享中:
- 选择共享文件夹。
- 将该组添加到共享权限(单击“用户”列表下的 +)并授予其读/写访问权限。
使用“ls -le”检查共享目录及其内容的 ACL。您应该会看到类似以下内容:
-rw-r-----+ 1 scott staff 43667456 Feb 17 21:59 filename
0: group:xxx inherited allow read,write,execute,append,...
权限是继承的;所有组成员现在都有读/写访问权限。