Shared folder file permission problems on Mac M1

Using qemu driver on a Mac M1, I’m mounting a directory with Mac uid/gid mapping:

multipass mount -u 501:1000 -g 20:1000 ~/Documents/vagrant ubuntu-lts:/vagrant

but in the guest vm, I can’t read files. ls gives

ls: reading directory '.': Permission denied

Oddly, I can’t ls even as root. Running file shows files as writeable but not readable. Newly created files on guest and host work fine. If I ls -n newfile.txt, the uid/gid seem to match with permission 664. Is there something I’m missing?

Also, I tried using VirtualBox driver (VB ver7 installed) to test that, but multipass returned

set failed: Invalid setting 'local.driver=virtualbox': Invalid driver

Hi @asdf072!

Some of the directories in your home directory on your Mac have additional ACLs with Documents being one of these. https://medium.com/enekochan/plus-and-at-symbols-listing-file-permissions-in-mac-os-x-ee541b131032 gives a decent high level explanation of this. You will need to adjust the ACL for this directory in order for Multipass to be able to access it. That said, it’s not trivial for Multipass to detect this situation and pass it on to the user, but not impossible.

Thanks!

2 Likes

Brilliant! Thanks. Instead of fighting it, I just moved the directory out of ~/Documents, and that worked.

1 Like