6

I installed MacFUSE (from http://code.google.com/p/macfuse/downloads/list), restarted, and then downloaded sshfs-static-leopard.gz, and moved sshfs-static-leopard to /usr/sbin/sshfs (and did a chmod 755 on it).

I've configured an Ubuntu machine at work (with the hostname "daryls") so I can ssh into it without a password. But when I try sshfs daryls:/ /Volumes/daryls -oauto_cache,reconnect,volname=daryls, I get:

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

What operation is not permitted?

I'm running Mac OS X 10.6.7? Could it be that sshfs-static-leopard.gz doesn't work with Snow Leopard? Or perhaps it only works in 32-bit mode? How do I find out if I'm booting Mac OS X in 64-bit mode?

Update: On Friday I tried this with an Ubuntu 11.04 VM (running in VMware Fusion 3.1.3). I'm pretty sure I just did a regular mkdir /Volumes/ubuntu (without sudo), followed by sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu and it worked.

But today I'm getting the same mount_fusefs: failed to mount /Volumes/ubuntu@/dev/fuse0: Operation not permitted error.

I tried creating the /Volumes/ubuntu directory with sudo, which made no difference. Then I tried running sudo sshfs ubuntu:/ /Volumes/ubuntu -oauto_cache,reconnect,volname=ubuntu and got:

warning: ssh nodelay workaround disabled
remote host has disconnected

But ssh ubuntu works.

I have no idea why it was working and now isn't. I'll try restarting my MacBook Air, just in case.

Update #2: After restarting, I ran:

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

It worked.

So I still don't have an answer to my question. But I may have a workaround.

BTW: It says "No" across from "64-but Kernel and Extensions" under "System Software Overview" in the System Profiler (which I opened following Handyman5's directions).

Update #3: After getting the "Operation not permitted" error, I restarted and got it again. (In other words, restarting is not a reliable workaround.)

Update #4: This was working, and then I made the mistake of restarting my Ubuntu VM without unmounting the sshfs volume. Now I'm getting the "Operation not permitted" error again. (Perhaps the /Volumes directory is left in some kind of locked state.)

I read Handyman5's comment below, and then read http://hints.macworld.com/article.php?story=20031017061722471 and the man page for chflags. I then did:

$ 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/

(According to the chflags man page, the ls option to see flags is -O, not -o. This is confirmed in the ls man page.)

As you can see, it's not showing any flags. (Though I wonder what the '@' and '+' signify. I read http://lists.apple.com/archives/Macos-x-server/2008/Jan/msg00138.html and played with xattr, but didn't learn anything.)

Out of desperation, I tried sudo chflags nouchg /Volumes and sudo chflags nouchg /Volumes/ubuntu but still go the "Operation not permitted" error.

Update #5: It's been a while since I originally posted this, but IIRC this all came from my problems trying to work around MacFusion not working with MacFUSE and SSHFS (when trying to use SSHFS to mount a volume running in an Ubuntu VM). I recently learned bout FUSE for OS X. I installed it, re-installed SSHFS, and now MacFusion is working flawlessly.

10
  • 1
    Researching the "Operation not permitted" error further led me to Mac OS X's concept of locked files. I have no idea if this is actually what's causing the problem, but if the OS is somehow locking the /Volumes/ubuntu directory, that could cause the behavior you're seeing. Use ls -lo to show file flags; if the directory is locked, it'll have a uchg in the listing.
    – Handyman5
    Jul 14, 2011 at 6:37
  • Perhaps this should be moved to apple.stackexchange.com? (Especially if my bounty expires without resolution.) Jul 15, 2011 at 20:39
  • See Update #4 above in response to Handyman5's comment. Jul 15, 2011 at 21:13
  • Thanks for the ls note; if I could edit comments I'd fix it. :-) I wonder, can you mount the volume somewhere else than /Volumes (say in your home directory, or in /Users/Shared)? That would tell you whether the problem was with /Volumes specifically or with the mount. Also, I know sshfs can get finicky if the host disappears out from under it, so unloading the FUSE filesystem driver and/or restarting the computer might help here.
    – Handyman5
    Jul 15, 2011 at 21:38
  • I was able to successfully mount the volume in a subdirectory of my home directory. I should have thought of that. That may be a reasonable workaround. Put that in an answer (or modify your existing answer) and I'll accept it once I confirm it works repeatedly. Jul 15, 2011 at 22:59

2 Answers 2

7
+50

It's possible that your user account is not able to mount volumes into the /Volumes directory directly. Have you tried mounting sshfs into a directory within your own home directory?

Failing that, you might need to have administrative (sudo) permissions to run sshfs. Try prefacing that command with sudo like so:

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

As an aside: to determine whether your Mac is running in 64-bit mode:

  1. Choose About This Mac from the Apple menu.
  2. Click More Info.
  3. Select Software in the Contents pane.
  4. Look for "64-bit Kernel and Extensions: Yes (or No)" under the System Software Overview heading.
1

One day, I was able to sshfs mount my volumes. The next, I wasn't. On the command line (terminal), I tried sudo -i and was met with "User is not in the sudoers file". I rebooted and tried sudo -i and was sucessful so I tried the sshfs mount again and it worked. Basically, a reboot fixed me but I have no other details other than that. OS: Mac 10.11.6 (El Capitan)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .