為什麼在嘗試使用 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
有效。
所以我的問題仍然沒有答案。但我可能有一個解決方法。
順便說一句:它在 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 /Volumes
了sudo 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 位模式下執行:
- 從 Apple 菜單中選擇關於本機。
- 點擊更多資訊。
- 在內容窗格中選擇軟體。
- 在系統軟體概述標題下查找“64 位核心和擴展:是(或否)” 。