为什么在尝试使用sshfs和MacFUSE装入卷时遇到“不允许操作”?

我安装了MacFUSE(从http://code.google.com/p/macfuse/downloads/list )重新启动,然后下载了sshfs-static-leopard.gz,并将sshfs-static-leopard移到了/ usr / sbin / sshfs(并做了一个chmod 755)。

我已经在工作中configuration了一台Ubuntu机器(主机名为“daryls”),所以我可以在没有密码的情况下进入ssh。 但是,当我尝试sshfs daryls:/ /Volumes/daryls -oauto_cache,reconnect,volname=daryls ,我得到:

 warning: ssh nodelay workaround disabled mount_fusefs: failed to mount /Volumes/daryls@/dev/fuse0: Operation not permitted 

什么操作是不允许的?

我正在运行Mac OS X 10.6.7? 难道是sshfs-static-leopard.gz不适用于雪豹? 或者也许它只能在32位模式下工作? 如何查明我是否在64位模式下启动Mac OS X?

更新:星期五我用Ubuntu 11.04 VM(在VMware Fusion 3.1.3中运行)尝试了这个。 我非常确定我只是做了一个普通的mkdir /Volumes/ubuntu (没有sudo),其次是sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu和它的工作。

但是今天我得到了相同的mount_fusefs: failed to mount /Volumes/ubuntu@/dev/fuse0: Operation not permitted错误。

我试图用sudo创build/ Volumes / ubuntu目录,这没有什么区别。 然后我试着运行sudo sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu ,得到:

 warning: ssh nodelay workaround disabled remote host has disconnected 

但是, ssh ubuntu作品。

我不知道为什么这是工作,现在不是。 以防万一,我会尝试重新启动我的MacBook Air。

更新#2:重新启动后,我跑了:

 $ cd /Volumes/ $ mkdir ubuntu $ sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu warning: ssh nodelay workaround disabled 

有效。

所以我还没有回答我的问题。 但我可能有一个解决方法。

顺便说一下:它在System Profiler(我打开Handyman5的指示后)的“System Software Overview”下的“64-Kernel and Extensions”中说“No”。

更新#3:得到“操作不允许”的错误后,我重新启动,并再次得到它。 (换句话说,重新启动不是一个可靠的解决方法。)

更新#4:这是工作,然后我犯了错误,重新启动我的Ubuntu虚拟机,而无需卸载sshfs卷。 现在我又得到了“操作不允许”的错误。 (也许/卷目录处于某种locking状态。)

我阅读下面的Handyman5的评论,然后阅读http://hints.macworld.com/article.php?story=20031017061722471和chflags的手册页。 然后我做了:

 $ ls -lOd /Volumes/ drwxrwxrwt@ 5 root admin hidden 170 Jul 15 13:22 /Volumes/ $ ls -lOd /Volumes/ubuntu/ drwxr-xr-x+ 2 root admin - 68 Jul 15 13:08 /Volumes/ubuntu/ 

(根据chflags手册页,标志的ls选项是-O,而不是-o,这在ls手册页中得到了证实。)

正如你所看到的,它没有显示任何标志。 (虽然我不知道'@'和'+'是什么意思,我读了http://lists.apple.com/archives/Macos-x-server/2008/Jan/msg00138.html,并用xattr玩过,学习任何东西。)

出于绝望,我尝试了sudo chflags nouchg /Volumessudo chflags nouchg /Volumes/ubuntu但仍然进入“Operation not permitted”错误。

更新#5:自从我最初发布这个版本以来已经有一段时间了,但是IIRC这一切都来自于我试图解决MacFusion不能与MacFUSE和SSHFS一起工作的问题(当试图使用SSHFS来挂载在Ubuntu VM中运行的卷时)。 我最近学会了回合FUSE的OS X。 我安装了它,重新安装了SSHFS ,现在MacFusion工作正常。

您的用户帐户可能无法直接将卷挂载到/Volumes目录中。 你有没有尝试将sshfs挂载到你自己的主目录下的目录?

否则,你可能需要具有pipe理( sudo )权限才能运行sshfs 。 尝试使用sudo预编译该命令,如下所示:

 sudo sshfs daryls:/ /Volumes/daryls -oauto_cache,reconnect,volname=daryls 

另外:确定您的Mac是否以64位模式运行 :

  1. 从Apple菜单中选取“ 关于本机 ”。
  2. 点击更多信息
  3. 在内容窗格中select软件
  4. 在“ 系统软件概述”标题下find“64位内核和扩展:是(或否)”。