Mac-Osx

為什麼在嘗試使用 sshfs 和 MacFUSE 掛載卷時出現“不允許操作”?

  • January 17, 2018

我安裝了 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

有效。

所以我的問題仍然沒有答案。但我可能有一個解決方法。

順便說一句:它在 System Profiler(我按照Handyman5的指示打開)的“系統軟體概述”下的“64-but Kernel and Extensions”對面說“不” 。

**更新#3:**收到“不允許操作”錯誤後,我重新啟動並再次獲得它。(換句話說,重新啟動不是可靠的解決方法。)

**更新 #4:**這是有效的,然後我犯了一個錯誤,即在沒有解除安裝 sshfs 卷的情況下重新啟動我的 Ubuntu VM。現在我再次收到“不允許操作”錯誤。(也許 /Volumes 目錄處於某種鎖定狀態。)

我在下面閱讀了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但仍然出現“不允許操作”錯誤。

**更新#5:**自從我最初發布這個已經有一段時間了,但是 IIRC 這一切都來自我試圖解決MacFusion的問題,而不是與 MacFUSE 和 SSHFS 一起工作(當嘗試使用 SSHFS 掛載在 Ubuntu VM 中執行的捲時)。我最近了解了FUSE for OS X。我安裝了它,重新安裝了SSHFS,現在 MacFusion 可以完美執行了。

您的使用者帳戶可能無法將捲/Volumes直接掛載到目錄中。您是否嘗試過掛載sshfs到您自己的主目錄中的目錄中?

否則,您可能需要具有管理 ( sudo) 權限才能執行sshfs. 嘗試使用這樣的命令開頭sudo

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

順便說一句:確定您的 Mac 是否在 64 位模式下執行

  1. 從 Apple 菜單中選擇關於本機。
  2. 點擊更多資訊
  3. 在內容窗格中選擇軟體。
  4. 在系統軟體概述標題下查找“64 位核心和擴展:是(或否)” 。

引用自:https://serverfault.com/questions/282285