On Wed, 2007-10-24 at 18:29 -0400, Matty wrote:
> Howdy,
> 
> While attempting to unmount a FUSE file system, I noticed that
> fusermount.bin uses hard coded paths to binaries that don't exist:
> 
> $ strings /usr/bin/fusermount.bin | egrep '(/bin/mount|/bin/umount)'
> /bin/mount
> /bin/mount
> %s: failed to execute /bin/mount: %s
> /bin/umount
> /bin/umount
> %s: failed to execute /bin/umount: %s
> 
> $ uname -a
> SunOS nifty 5.11 snv_74 i86pc i386 i86pc
> 
> $ ls -l /bin/mount
> /bin/mount: No such file or directory
> 
> $ ls -l /bin/umount
> /bin/umount: No such file or directory
> 
> After poking around, it appears these paths are set in mount_util.c:
> 
> $ grep -i /bin/mount *
> mount_util.c:        execl("/bin/mount", "/bin/mount", "-i", "-f",
> "-t", type, "-o", opts,
> mount_util.c:        fprintf(stderr, "%s: failed to execute
> /bin/mount: %s\n", progname,
> 
> $ grep -i /bin/umount *
> mount_util.c:        execl("/bin/umount", "/bin/umount", "-i", mnt,
> lazy ? "-l" : NULL,
> mount_util.c:        fprintf(stderr, "%s: failed to execute
> /bin/umount: %s\n", progname,
> 
> Would it be possible for someone to update mount_util.c to use
> /sbin/mount and /sbin/umount instead of /bin/mount and /bin/umount?

Yes, this is something that should be fixed.
Unmounting should work fine though. libfuse treads uid == 0 as special.
So if you tried to unmount as root via "fusermount -u" you'll hit this
code. 

unmounting as non-root using "fusermount -u" or by root using umount(1m)
should work fine. If it doesn't - let me know :)

-Mark


Reply via email to