bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#21142: Sshfs-fuse requires fuse


From: Ludovic Courtès
Subject: bug#21142: Sshfs-fuse requires fuse
Date: Sun, 29 Nov 2015 12:18:45 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Mark H Weaver <address@hidden> skribis:

> Claes Wallin (韋嘉誠) <address@hidden> writes:
>
>> On 27-Jul-2015 5:06 pm, "Andreas Enge" <address@hidden> wrote:
>>>
>>> Hello,
>>>
>>> when trying to execute sshfs from the sshfs-fuse package, I obtain
>>> fuse: failed to exec fusermount: No such file or directory
>>>
>>> I think that fuse should be a propagated input of sshfs-fuse.
>>
>> Maybe it's less intrusive toward the user to wrap sshfs to add fuse to
>> its PATH?
>
> Or patch the reference to 'fusermount' to be an absolute path?

This what libfuse does by default in lib/mount.c:

--8<---------------cut here---------------start------------->8---
static void exec_fusermount(const char *argv[])
{
        execv(FUSERMOUNT_DIR "/" FUSERMOUNT_PROG, (char **) argv);
        execvp(FUSERMOUNT_PROG, (char **) argv);
}
--8<---------------cut here---------------end--------------->8---

However, we explicitly patch it because in practice the ‘fusermount’
binary must be at least set-user-gid to fuse, per mount.fuse(8):

--8<---------------cut here---------------start------------->8---
    ;; This hack leads libfuse to search for 'fusermount' in
    ;; $PATH, where it may find a setuid-root binary, instead of
    ;; trying solely $out/sbin/fusermount and failing because
    ;; it's not setuid.
    (substitute* "lib/Makefile"
      (("-DFUSERMOUNT_DIR=[[:graph:]]+")
       "-DFUSERMOUNT_DIR=\\\"/var/empty\\\""))
--8<---------------cut here---------------end--------------->8---

On GuixSD, this is addressed by having ‘fusermount’ setuid-root in
/run/setuid-programs, so things just work.

On foreign distros, there’s not much we can do: Users have to set add a
setuid ‘fusermount’ in their PATH.

Closing this bug as “wontfix.”

Ludo’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]