19

I have a domain hoster that provides access via SSH.

My platforms are:

  • Gentoo 2.6.36-r5
  • Windows (XP/Vista/7)

I work on my Windows, I use Gentoo to do all the magic Windows can't do.

Therefore I use sshfs to mount the remote public directory for my domain to /mnt/mydomain.com. Authentication is done via keys, so lazy me don't have to type in my password every now and then.

Since I do my coding on Windows, and I don't want to upload/download the changed files all the time, I want to access this /mnt/mydomain.com via a samba share.

So I shared /mnt in samba, all mounts except mydomain.com is listed on my Windows Explorer.

My theories are:

  1. sshfs does not set the mountpoint uid/gid to something that samba expects
  2. samba does not know that it has to include the uid/gid that /mnt/mydomain.com has been set.
  3. All above is wrong, and I don't know.

Here are configs and output from console, need anything else just let me know. Also no errors or warnings that I take notice of being relevant to this issue, but I might be wrong.

gentoo ~ # ls -lah /mnt
total 20K
drwxr-xr-x  9 root  root  4.0K Mar 26 16:15 .
drwxr-xr-x 18 root  root  4.0K Mar 26  2011 ..
-rw-r--r--  1 root  root     0 Feb  1 16:12 .keep
drwxr-xr-x  1 root  root     0 Mar 18 12:09 buffer
drwxr-s--x  1 68591 68591 4.0K Feb 16 15:43 mydomain.com
drwx------  2 root  root  4.0K Feb  1 16:12 cdrom
drwx------  2 root  root  4.0K Feb  1 16:12 floppy
drwxr-xr-x  1 root  root     0 Sep  1  2009 services
drwxr-xr-x  1 root  root     0 Feb 10 15:08 www

/etc/samba/smb.conf

[mnt]
comment = Mount points
writable = yes
writeable = yes
browseable = yes
browsable = yes
path = /mnt

/etc/fstab

sshfs#myusername@mywebhotel.com:/home/to/pub/dir/ /mnt/mydomain.com/ fuse comment=sshfs,noauto,users,exec,uid=0,gid=0,allow_other,reconnect,follow_symlinks,transform_symlinks,idmap=none,SSHOPT=HostBasedAuthentication 0 0

For an easier read:

  • myusername@mywebhotel.com
  • /home/to/pub/dir/
  • /mnt/mydomain.com/

options:

  • comment=sshfs
  • noauto
  • users
  • exec
  • uid=0
  • gid=0
  • allow_other
  • reconnect
  • follow_symlinks
  • transform_symlinks
  • idmap=none
  • SSHOPT=HostBasedAuthentication

Help!

CS01
  • 395

3 Answers3

18

sshfs is a FUSE-based filesystem, and the FUSE layer does not allow other users to access its mounts by default, for security purposes. You have allow_other in options, but it will be ignored until you also edit /etc/fuse.conf to include user_allow_other.

grawity
  • 501,077
2

Why don't you mount sshfs directly from Windows?
There are couple of free solution for that (see here and here for more info).

soandos
  • 24,600
  • 29
  • 105
  • 136
-1

As your normal smb shares are working, i don't loose a word regarding the Samba config, because you can sahre sshfs mounts exactly like you share normal folders. But mounting the SSH share via sshfs is special in comparison to local machine access only.

For mounting your share via fstab, you can put this line into /etc/fstab and mount the share ON REQUEST. It's more convenient than c&p the commandline command.

Generic etc/fstab line:

**<USERNAME>**@<SERVER>:<REMOTE_PATH> /MOUNT/POINT fuse.sshfs noauto,users,idmap=user,IdentityFile=/path/to/.ssh/id_rsa,allow_other,reconnect,port=22,uid=<UID>,gid=<GID> 0 0

noauto: you need to mount it via mount /MOUNT/POINT all other informations gets pulled from this line in /etc/fstab

users: allows normal users to mount this mount entry

reconnect: reconnects/remounts the ahre after standby, etc

uid=/gid=: Maps the remote uid/gid to this local uid/gid

Example:

foo@example.org:/home/foo/music ~/foos_music fuse.sshfs noauto,users,idmap=user,IdentityFile=/home/foo/.ssh/id_rsa,allow_other,reconnect,port=22,uid=foo,gid=users 0 0

All you need to know about sshfs mounting [https://wiki.archlinux.org/index.php/Sshfs]