Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.

share|improve this question
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 '11 at 6:37
    
Perhaps this should be moved to apple.stackexchange.com? (Especially if my bounty expires without resolution.) –  Daryl Spitzer Jul 15 '11 at 20:39
    
See Update #4 above in response to Handyman5's comment. –  Daryl Spitzer Jul 15 '11 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 '11 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. –  Daryl Spitzer Jul 15 '11 at 22:59
show 5 more comments

1 Answer

up vote 2 down vote accepted
+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.
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.