为什么当我尝试使用 sshfs 和 MacFUSE 挂载卷时会出现“操作不允许”的提示?

为什么当我尝试使用 sshfs 和 MacFUSE 挂载卷时会出现“操作不允许”的提示?

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

我在工作中配置了一台 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 无法在 Snow Leopard 上运行?或者它只能在 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 创建 /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

有效。

所以我仍然没有找到问题的答案。但我可能有一个解决方法。

顺便说一句:系统分析器中“系统软件概述”下的“64-但内核和扩展”对面显示“否”(我按照以下方法打开它)勤杂工5的方向)。

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

更新 #4:这本来是可行的,但我犯了一个错误,没有卸载 sshfs 卷就重新启动了我的 Ubuntu VM。现在我又收到“操作不允许”错误。(也许 /Volumes 目录处于某种锁定状态。)

我读勤杂工5的评论,然后阅读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但仍然出现“操作不允许”错误。

更新 #5:距离我最初发布这篇文章已经有一段时间了,但我记得这一切都是因为我试图解决MacFusion无法与 MacFUSE 和 SSHFS 配合使用(尝试使用 SSHFS 挂载在 Ubuntu VM 中运行的卷时)。我最近了解到适用于 OS X 的 FUSE。我安装了它,重新安装了SSH文件系统,现在 MacFusion 运行正常。

答案1

您的用户帐户可能无法/Volumes直接将卷安装到目录中。您是否尝试过将其安装sshfs到您自己的主目录中的目录中?

否则,您可能需要具有管理 ( sudo) 权限才能运行sshfs。尝试在该命令前面加上sudo如下内容:

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

另外:确定你的 Mac 是否在 64 位模式下运行

  1. 选择关于此 Mac来自 Apple 菜单。
  2. 点击更多信息
  3. 选择软件在内容窗格中。
  4. 系统软件概述标题。

答案2

有一天,我能够 sshfs 挂载我的卷。第二天,我却不能。在命令行(终端)上,我尝试了sudo -i,但遇到了“用户不在 sudoers 文件中”。我重新启动并尝试sudo -i,成功了,所以我再次尝试 sshfs 挂载,它成功了。基本上,重新启动解决了我的问题,但除此之外我没有其他详细信息。操作系统:Mac 10.11.6(El Capitan)

相关内容