--- libfuse/mount_util.c.orig 2017-12-06 22:17:00.200753628 +0000 +++ libfuse/mount_util.c 2017-12-06 22:16:13.152587853 +0000 @@ -58,6 +58,7 @@ return -1; } if (res == 0) { + char *env = NULL; char templ[] = "/tmp/fusermountXXXXXX"; char *tmp; @@ -79,9 +80,9 @@ exit(1); } rmdir(tmp); - execl("/bin/mount", "/bin/mount", "-i", "-f", "-t", type, "-o", opts, - fsname, mnt, NULL); - fprintf(stderr, "%s: failed to execute /bin/mount: %s\n", progname, + execle("/sbin/mount", "/sbin/mount", "-F", type, "-o", opts, + fsname, mnt, NULL, &env); + fprintf(stderr, "%s: failed to execute /sbin/mount: %s\n", progname, strerror(errno)); exit(1); } @@ -112,10 +113,12 @@ return -1; } if (res == 0) { + char *env = NULL; + setuid(geteuid()); - execl("/bin/umount", "/bin/umount", "-i", mnt, lazy ? "-l" : NULL, - NULL); - fprintf(stderr, "%s: failed to execute /bin/umount: %s\n", progname, + execle("/sbin/umount", "/sbin/umount", mnt, + NULL, &env); + fprintf(stderr, "%s: failed to execute /sbin/umount: %s\n", progname, strerror(errno)); exit(1); }