19

I get Permission denied error when running a snap application, where my home directory is mounted on an nfs mount point that does not allow root-write. This is not an unusual configuration, so I consider this a bug.

The error message:

cannot create user data directory: /home/tcumming/snap/vlc/4: Permission denied

Also had the same problem with ubuntu 16.

Some more info as requested:

Using the ubuntu, "Ubuntu Software" I install a snap application (for example, vlc). When I attempt to run it (from the command line), I get the, "Permission denied" message above.

I had just reinstalled Ubuntu on the machine, so there has been no messing around with the OS. I did preserve my uid:gid so I could mount my prior nfs share.

This is not a problem with the mount point, or nfs. Our mount point is not root-writeable for security reasons.

I guess the question is, should I file a bug report? What are my next steps?

  • What's the question? How to file a bug report? – mikewhatever Jun 29 '17 at 20:57
  • I am going to guess if you file a bug report it will be marked invalid as it is a configuration problem with nfs and the mount point and not a bug but you can try. – Panther Jun 29 '17 at 21:02
  • Could you please add a little more detail? What exactly did you do, what did you want to achieve and what happened instead? Did you encounter any warning or error messages? Please reproduce them in their entirety in your question. You can select, copy and paste terminal content and most dialogue messages in Ubuntu. (see How do I ask a good question?) – David Foerster Jun 30 '17 at 6:23
  • I edited my original question to address above. – Tom Cumming Jul 1 '17 at 1:48
10

Same happens in Ubuntu 18.04.

If the user home directory is not under the /home (or /) mount, it not possible to work with snap. My HOMEDIR was on another local SSD disk, but since it was not mounted under /home, every package installed by snap was failing.

Since Canonical is moving to support snap, you will have to loose this kind of nice things, such as HOMEDIRs on other file systems, mounted by NFS, etc.

Maybe snap will be more flexible inthe future, but it is not a priority: https://forum.snapcraft.io/t/how-can-i-use-snap-when-i-dont-use-home-user/3352/6

The workaround right now is to remove snap and install things from *.tar.gz or from *.deb packages.

  • 7
    So far snap = worst idea ever. Too soon :-p – Ligemer May 12 '18 at 0:48
  • 2
    This is really sad and close to a showstopper, especially for huge deployments where $HOME resides on NFS or CIFS shares mounted via autofs-ldap. – Sebastian Stark Jun 9 '18 at 13:33
  • 1
    "Since Canonical is moving to support snap, you will have to loose this kind of nice things, such as HOMEDIRs on other file systems, mounted by NFS, etc." I don't think canonical is going to convince people running Ubuntu in commercial/business environments to stop using centralised network mounted home directories in favor of local ones just so they can use "snap packages"... – Dean Jul 30 '18 at 12:43
  • 1
    SSD/HD PCs are all too common nowadays. Many (but not all!) of my /snap/bin/ commands would fail with the misleading "permission denied" error with the input files and the problem could not be resolved by messing with file permissions but by removing the /snap/ package and re-installing them with apt! (Ubuntu 18.04) – SYK Oct 10 '18 at 4:58
  • 1
    This question, or its cause, is totally underrated in my book. It can't be low priority that things don't work for a major part of the userbase. – SeveQ Nov 23 '18 at 8:50
2

Snap apps are confined to a sandbox by default, for security. If you want snap applications to be able to read/write data in your home directory, you should install them in classic mode. Try:

rclone install --classic vlc

This should work for you.

If application sandboxing is a concern, then you might want to look into firejail.

1

You can set the permissions of the Snap Application from the Software Store. See: http://www.linuxandubuntu.com/home/snap-application-permissions

  • Welcome to Ask Ubuntu! Whilst this may theoretically answer the question, it would be preferable to include the essential parts of the answer here, and provide the link for reference. – Kevin Bowen Jan 13 at 5:07
0

I ran into this because my home directory is symlinked from /home/$USER to another mount point. I fixed it with the suggestion from: https://bugs.launchpad.net/snapcraft/+bug/1620771

In short, you need to add your non-standard home directory to apparmor's HOMEDIRS variable:

$ sudo dpkg-reconfigure apparmor

or: create a file in /etc/apparmor.d/tunables/home.d/ that points to your home directory's mount point:

@{HOMEDIRS}+=/mnt/hdd/.home/

Then, just for good measure, you should delete apparmor's cache and reboot:

$ sudo rm -f /etc/apparmor.d/cache/* /var/cache/apparmor/snap.*
$ sudo reboot

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.