Opened 3 months ago

Last modified 35 hours ago

#57676 assigned update

sshfs 2.x unable to create mount points (Sierra/High Sierra and later)

Reported by: matt-hammond-bbc (Matt Hammond) Owned by: drkp (Dan Ports)
Priority: Normal Milestone:
Component: ports Version: 2.5.4
Keywords: Cc:
Port: sshfs

Description (last modified by matt-hammond-bbc (Matt Hammond))

A change in Mac OS Sierra and later has locked down permissions on /Volumes such that it is not possible to create mount points without root privileges. Request that this port be updated to sshfs 3.x to resolve this.

The security changes to Sierra and later: https://derflounder.wordpress.com/2016/09/21/macos-sierras-volumes-folder-is-no-longer-world-writable/

osxfuse 3.5.0 added support to automatically create mount-points, but sshfs also needed changes to stop it checking that the mount-point already exists. This change has been made to the 3.x branch, but not the 2.x branch.

Example (running High Sierra 10.13.6 with:

  • sshfs @2.10_0
  • osxfuse @3.8.2_0
    $ sshfs user@SERVER:/ /Volumes/XXXX -oreconnect,volname="SERVERNAME",idmap=user
    mount: realpath /Volumes/XXXX: No such file or directory
    

Change History (4)

comment:1 Changed 3 months ago by matt-hammond-bbc (Matt Hammond)

Description: modified (diff)

comment:2 Changed 3 months ago by jmroot (Joshua Root)

Owner: set to drkp
Status: newassigned

comment:3 Changed 37 hours ago by ra1nb0w

sshfs 2.10 contains the patch https://github.com/libfuse/sshfs/blob/42dfaf9a5bdc1ee429c7718e8788ca37a5763e0d/sshfs.c#L4038

In any case, I receive the following error if I use /Volume. Works flawless with ~/test directory

sshfs -p22 -d test.domain.com: /Volumes/test
mount_osxfuse: /Volumes/test: Permission denied

If I understand correctly the new behaviour, osxfuse could create the mount-point in /Volume and use it. right?

thanks

macOS 10.14.3 18D109
Xcode 10.1 10B61
osxfuse @3.8.3_0
sshfs @2.10_0

comment:4 Changed 35 hours ago by matt-hammond-bbc (Matt Hammond)

Yes, if I understand you correctly. The right version of Osxfuse will create the mount point. What is important is that sshf should not object if the mount point does not yet Exist.

Note: See TracTickets for help on using tickets.