我需要在 Mac OS X 10.7.4(非服务器)机器上创建一个挂载点/共享,以便 CentOS 5.2 盒子可以挂载。我搜索了很多,但大多数情况下都是使用 Linux 服务器和 Mac 客户端……我打算反过来。我花了一天时间尝试通过 SMB 让它工作,但显然 CentOS 上的 SMB 客户端无法与 OS X 上的 SMBX 服务器配合使用。(如果有人知道 10.7 的演练是否可行,请告诉我。我找到的都是一堆“它不起作用”的帖子……)
所以我又花了半天时间尝试设置 NFS。我有导出设置并showmount -e
显示正确的点。nfsd checkexports
似乎也验证了设置。
导出:/Test -network 10.xx.xx.xx -sec=sys -mask 255.255.254.0 -maproot=nobody
我尝试手动配置,也使用 NFS Enabler 系统首选项。我还尝试不使用 -sec 标志
sudo mount -t nfs 10.xx.xx.xx:Test /var/www/Test/
是我想设置的。我还尝试了主机名。两者都产生了相同的结果:
Mount 10.xx.xx.xx:Test failed, reason given by server: Permission denied
防火墙已关闭。我可以从 Linux 机器通过 ssh 连接到 Mac。如果我更改挂载点,则会收到不同的错误,因此我认为它实际上正在开始连接,但在输入密码后,权限被拒绝。我以前从未使用过 NFS,因此我不太清楚用户名/用户 ID 位是如何工作的。
我会安装 netatalk 并尝试一下,但我对服务器没有太多的控制权,所以我希望尽可能接近其默认配置。
谢谢
答案1
在 Linux 上从 Lion 安装 SMBX 共享需要具有 NTMLSSP 支持的 CIFS 内核模块。CentOS 5.2 的内核没有它,因此无论您做什么,通过 smb/cifs (mount -t cifs) 安装都无法与 SMBX 配合使用。当然,除非您重新编译较新的内核,但我认为您不会想要这样做。这不会给您留下太多 SMB/CIFS 领域,留下静态安装。或者,您可以在 Lion 上运行非 SMBX 的 SAMBA 单独实例: 中小企业或通过麦金塔。
就 NFS 而言,您的 UID 在各个框之间必须相同。除了设计为使用 NFS 的托管系统外,情况很可能并非如此。最简单的检查方法是ls -l /Test
在 Lion 上执行,查看谁拥有该目录,然后执行id user
。示例:
> id user
uid=110(user) gid=111(users) groups=111(users)
Linux 机器上必须有具有相同“目的”且具有相同 UID 的用户。如果发生冲突(这种情况经常发生),它将无法工作。