为什么 OSX 上安装的 SMB 共享中的所有文件都被锁定,从而导致某些命令无法执行操作?
我有一台 Windows 7 x64 机器正在提供一个share
。
OS X 10.6 计算机已将此共享安装到/Volumes/share
。我测试过,我可以使用 Finder 或 Midnight Commander 从中添加、删除和修改文件。
但是,某些工具仍无法运行,并出现如下错误Operation not permitted
。
原因在于locked
标志。我发现了find /Volumes/share -flags uchg
。
它将所有从 OS X 修改的文件默认获取此标志。
为什么会发生这种情况(不应该发生)以及如何解决这个问题?(可能需要修改/etc/smb.conf
)
答案1
我找到了解决方案http://www.stanford.edu/group/macosxsig/blog/2010/01/snow_leopard_samba_and_nt_acl.html
这feature/bug
是特定于的Snow Leopard - OS X 10.6
。
修改/etc/smb.conf
和添加
[global]
acl check permissions = no
nt acl support = no
不要忘记重新启动 samba,或者在此之后重新启动。
要检测所有锁定的文件,请运行:
find /path -flags uchg
要从现有文件中删除所有锁,请运行:
chflags -R nouchg /path/
答案2
意识到这是一个老问题,但希望这能够帮助到最终来到这里的人。
我在 OSX 10.8.4 上遇到了类似的问题。我设法通过禁用 Windows 7 计算机上包含共享文件夹的驱动器上的索引来解决这个问题。
在 Windows 7“计算机”屏幕上右键单击驱动器,转到属性。取消选中“允许对此驱动器上的文件进行内容索引...”,然后单击“确定”,并在弹出窗口中选择“将更改应用于驱动器、子文件夹和文件”