This shows you the differences between two versions of the page.
— | tutorials:psshfs [2012/01/29 04:40] (current) – Import from sdf memnon | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== Mounting SDF Folders on a NetBSD Local Machine via mount_psshfs(8) ===== | ||
+ | |||
+ | ==== What is mount_psshfs(8) ? ==== | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ==== Creating basic psshfs mounts ==== | ||
+ | |||
+ | You'll likely need root permissions to run mount_psshfs(8); | ||
+ | |||
+ | === ex.1) create a basic read-only mount of an SDF user's $HOME directory under /mnt === | ||
+ | |||
+ | sudo mount_psshfs -o ro sdf_user@freeshell.org /mnt | ||
+ | sdf_user@freeshell.org' | ||
+ | |||
+ | Use the mount(8) command to see what the mount looks like: | ||
+ | |||
+ | mount -t puffs\|psshfs | ||
+ | sdf_user@freeshell.org on /mnt type puffs|psshfs (read-only) | ||
+ | |||
+ | === ex.2) mount sdf_user@freeshell.org/ | ||
+ | |||
+ | sudo mount_psshfs -O Compression=yes -O IdentityFile=/ | ||
+ | |||
+ | For help setting up public key authentication see the [[https:// | ||
+ | |||
+ | === ex.3) put the above in /etc/fstab; mount to local /puffsmnt === | ||
+ | < | ||
+ | sudo mkdir /puffsmnt | ||
+ | sudoedit /etc/fstab | ||
+ | ... | ||
+ | # psshfs PUFFS mount of gopher dir on sdf_user@.sdf.org | ||
+ | sdf_user@sdf.org:/ | ||
+ | |||
+ | sudo mount /puffsmnt | ||
+ | </ | ||
+ | ==== Fixing the displayed file permissions with mount_umap(8) | ||
+ | |||
+ | With the above examples you'll probably notice that the UID:GID values for the psshfs mount are either numerical values or otherwise not what you might expect; this is because your local system doesn' | ||
+ | |||
+ | === ex.5) mount /puffsmnt to ~local_user/ | ||
+ | |||
+ | First, we find who's who on local system (note: UID/GID are fields 3 & 4): | ||
+ | |||
+ | ls -dnl /puffsmnt | ||
+ | drwxr-xr-x | ||
+ | |||
+ | grep local_user /etc/passwd | ||
+ | local_user: | ||
+ | |||
+ | From above we see that we need to re-map local UID 1000 to 012345, and local GID 100 to 550. We just have one remapping each so the uid-mapfile and gid-mapfile files get made like so: | ||
+ | |||
+ | sudoedit / | ||
+ | 1 | ||
+ | 1000 012345 | ||
+ | |||
+ | sudoedit / | ||
+ | 1 | ||
+ | 100 550 | ||
+ | |||
+ | Now we make the ~local_user/ | ||
+ | |||
+ | mkdir ~local_user/ | ||
+ | sudo mount_umap -o nocoredump -g / | ||
+ | |||
+ | Use mount(8) and ls(1) to see what the umap mount looks like: | ||
+ | |||
+ | mount -t umap /puffsmnt on / | ||
+ | ls -dl ~local_user/ | ||
+ | drwxr-xr-x | ||
+ | |||
+ | Alternately, | ||
+ | |||
+ | sudoedit /etc/fstab | ||
+ | ... | ||
+ | /puffsmnt / | ||
+ | |||
+ | sudo mount ~local_user/ | ||
+ | |||
+ | ==== Unmounting umap and psshfs mounts ==== | ||
+ | |||
+ | Unmount umap and psshfs mounts in the usual way with umount(8), but do it in reverse order: | ||
+ | |||
+ | sudo umount ~local_user/ | ||
+ | sudo umount /puffsmnt | ||
+ | |||
+ | References: | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||