Problem

Using curlftpfs, encfs, sshfs etc. in Linux as a normal user can result in the following error message:

fusermount - failed to open /etc/fuse.conf - Permission denied

Explanation

The error occurs, because only root and members of the group fuse have the permissions which are required to run these commands.  To confirm that this is the root of your problem, enter the following in a terminal:

groups <username>

You will get a list of groups you are a member of and “fuse” will most likely be missing. If it is a different user who has the problem, just use his/her username.


Solution

The problem can be easily fixed by adding the user to the fuse group:

sudo addgroup <username> fuse

(Replace <username> with your username or the the username of the user you want to add to fuse)

After that, if the user is currently logged in, the user needs to log out and back in for the changes to take effect. The changes can be confirmed running

groups <username>

again. “fuse” should now be listed.

  3 Responses to “Error Message “fusermount – failed to open /etc/fuse.conf – Permission denied” in Linux (here: Ubuntu)”

  1. rory@ZUBUNTU:~$ groups
    rory adm dialout cdrom plugdev lpadmin admin sambashare mythtv
    rory@ZUBUNTU:~$ groups rory
    rory : rory adm dialout cdrom plugdev fuse lpadmin admin sambashare mythtv

    How does this happen? How can I fix it?

    • First, thanks for the comment. I updated the article (so that people would only use “groups ” now).

      The problem is that “groups” and “groups rory” don’t exactly do the same thing.

      “groups” lists the groups of the current process; not of the current user (so “groups” is not a short form of “groups rory”). Basically, the list of groups you are in is loaded when you log in and kept in memory. (This is why you have to log out and back in when you change the groups you are in; because otherwise you still have the old list in memory from when you logged in).
      When you open the terminal, it gets the list of groups that was loaded.
      BUT: Not all groups are necessarily passed on to the current session. That is why “fuse” is not/might not be listed when you just enter “groups”. It will list the groups for the current process (the terminal session), which does not necessarily include “fuse”, even if you are a member of it.
      Bottom line: “groups” might not list ALL groups you are a member of.

      However, when running “groups rory”, the system will list ALL groups you are a member of. AND it will not print the list that was loaded when you logged in, but instead directly load the list of groups from /etc/group (which is where the information about groups are stored). Therefore, when you change your groups, “groups rory” will immediately display the changes. But you still should log out and back in for the changes to take effect, because while “groups rory” load the current(!) list of groups, the processes still only get the list of groups at the point you logged in. (So you need to log out and back in for the new, updated list of groups to be loaded and then passed on to all processes).

      I hope this helps a bit.

      Update (2012-05-20):
      I updated my comment a bit. I was sure that “groups” listed “fuse” when I wrote the article, but after Rory’s comment I checked and it was not listed (I explained the differences between “groups” and “groups ” above).
      I checked again just now and “groups” does include “fuse” again. I am not entirely sure why it is not consistent in behavior, but I changed my explanation above a little to make clear that “fuse” could be included, bit might not be.

  2. So when I wondered if restarting the computer would fix the problem yesterday, I should have just tried it!

    This doesn’t help a little, it helps a lot.
    Thank you very much for replying to my comment.

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>