我希望这是超级用户的问题,而不是 Server Fault 的问题。在工作中,我们使用各种 Linux/Unix 机器。我通过 SMB 将它们安装在我的 OS X Lion 笔记本电脑上。我注意到,当我使用安装上的文件时,权限有时会发生变化,因此只有我可以修改文件。这对我的同事来说显然很讨厌,但很容易解决。
当我与已安装的盒子上的 SVN 工作副本交互时,很难修复这个问题。它们被损坏得无法修复(包含所有元数据的 '.svn' 文件夹获得其权限并标记 ALLLL 混乱)。每次我进行更新或提交时都会发生这种情况。
我听说在 SMB.conf 中可以应用一些设置来修复该问题,但我不知道具体应该怎么做。一切似乎都是为了将 OS X 配置为共享,但我想我正在寻找的是 SMB 客户端配置。
我没有 /etc/smb.conf,但我有安装时附带的 /etc/smb.conf.old,但我猜它没有被应用。即使我是客户端而不是服务器,只需创建我自己的“/etc/smb.conf”就能强制应用它吗?
在处理挂载上的文件(尤其是像 SVN 那样创建目录)后,如何配置 SMB 客户端以强制权限等?我可以在挂载到挂载的基础上进行配置吗?或者我可以进行一个全局配置,将其应用于我的所有 SMB 挂载吗?
更多信息:
我使用安装为网络驱动器的 Windows XP 中的这些相同的盒子进行工作并执行相同的操作(SVN 等),没有任何问题。
我使用的机器运行的是 Linux - Red Hat Linux Advanced Server 版本 2.1AS(彭萨科拉)
答案1
您是否考虑过完全绕过 SMB 并在服务器上设置 AFP 共享?
以下是在 Ubuntu 上运行 netatalk(Apple AFP 服务器的开源实现)的快速指南。在 Red Hat 下执行应该不难。
如果您依赖于 Linux 机器上的准确权限,并且您已设置具有适当组和权限的用户帐户,那么这可能是可行的方法。
我有这样的设置;Linux 机器上有多个用户帐户,所有用户都通过 AFP 从 Mac 连接,使用他们的 Linux 用户名和密码。在 Linux 机器上创建的文件始终具有权限,就像用户在 Linux 上“本地”创建的文件一样。
只是出于好奇,从 Windows 访问时您使用的是 NFS 吗?还是也使用 SMB?